mysql - laravel eloquen 函数 with() 从关系 2 表中仅获取 3 列
问题描述
我需要 id_jornada, nombre_jornada 和关系学校: nombre_colegio 但最后一个 concat "nombre_jornada + nombre_colegio"
乔纳达控制器
public function index(){
$res = Jornada::where('estado', 1)->with('school:id,nombre_colegio')->get();
return response()->json($res);
}
axios 响应
[
{
"id_jornada":1,
"school_id":1,
"nombre_jornada":"Matutina",
"estado":1,
"created_at":null,
"updated_at":"2021-02-05T21:19:17.000000Z",
"school":{
"id":1,
"nombre_colegio":"La pradera"
}
},
{
"id_jornada":3,
"school_id":7,
"nombre_jornada":"Vespertina",
"estado":1,
"created_at":"2021-02-05T23:26:12.000000Z",
"updated_at":"2021-02-06T00:09:45.000000Z",
"school":{
"id":7,
"nombre_colegio":"La pradera"
}
}
]
但我需要这样。
{
"id_jornada":[
"nombre_jornada + nombre_colegio",
]
}
json
{
"1":[
"Matutina La pradera",
],
"3":[
"Vespertina La pradera",
]
}
解决方案
您可以使用foreach
并制作该数组
public function index()
{
$jornada = Jornada::where('estado', 1)->with('school:id,nombre_colegio')->get();
$result = [];
foreach ($jornada as $row) {
$res[] = $row->nombre_jornada . ' ' . $row->school->nombre_colegio ?? "";
}
return response()->json($result);
}
推荐阅读
- spring - Sonatype 扫描显示依赖关系超过 10 年
- angular - Angular 10 - 导航路由器无法正常工作
- python - Python pandas,在定义df之前对数据框的条件
- react-native - 有没有办法在 React Native 上触发“返回”
- python - 如何使用 Django 框架从前端读取 pdf 文件?
- tfs - 如何在 TFS 中为用户授予另一台电脑的权限
- c - cs50 pset3 潮人 lock_pairs 和打印获胜者不工作。我无法修复它
- c# - 如何强制服务在 web api 中运行
- mysql - mysql DISTINCT 两次显示相同的内容
- c# - 无法从 IhttpActionResult 中提取内容,出现错误