如何在laravel json输出中使两个对象处于同一级别?
我有两个模型名为Student和Roll。我想对他们的数据进行分析,以便他们保持在同一水平。 控制器部分如何在laravel json输出中使两个对象处于同一级别?,json,laravel,api,formatting,parameter-passing,Json,Laravel,Api,Formatting,Parameter Passing,我有两个模型名为Student和Roll。我想对他们的数据进行分析,以便他们保持在同一水平。 控制器部分 $stuents=Student::all(); $count=$stuents->count(); $rolls=Roll::all(); $response=[]; for($i=0;$i<$count;$i++){ $response[$i]=[ 'students'=>$stuents[$i],
$stuents=Student::all();
$count=$stuents->count();
$rolls=Roll::all();
$response=[];
for($i=0;$i<$count;$i++){
$response[$i]=[
'students'=>$stuents[$i],
'roll_number'=>$rolls[$i]
];
}
return response($response);
但我的预期产出将是
[
{
"students": {
"name": "habib",
"dept": "ece",
"roll": 1609047
}
},
{
"students": {
"name": "hafiz",
"dept": "ece",
"roll": 1609061
}
}
]
如何解决此问题?您必须将角色添加到要添加到响应数组中的每个学生 如果对象位于
$students
:
for ($i = 0; $i < $count; $i++) {
// if object
$students[$i]->roll = $rolls[$i];
$response[] = [
'student' => $students[$i],
];
}
for ($i = 0; $i < $count; $i++) {
$response[] = [
'student' => ['roll' => $rolls[$i]] + $students[$i],
];
}
for ($i = 0; $i < $count; $i++) {
$response[] = [
'student' => ['roll' => $rolls[$i]] + $students[$i],
];
}