laravel eloquent 函数 with() 从关系 2 表中仅获取 3 列
laravel eloquen fucntion with() get only 3 columns from relation 2 tables
我需要 id_jornada、nombre_jornada 和关系学校:nombre_colegio 但最后一个连接“nombre_jornada + nombre_colegio”
jornadaController
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);
}
我需要 id_jornada、nombre_jornada 和关系学校:nombre_colegio 但最后一个连接“nombre_jornada + nombre_colegio”
jornadaController
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);
}