如何解决如何在laravel json输出中将两个对象置于同一级别?
我有两个模型,分别是Student和Roll。我想要它们的数据,以便它们保持在同一级别。 控制器部分。
$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","roll": 1609061
}
]
但是我的预期输出是。
[
{
"students": {
"name": "habib","dept": "ece","roll": 1609047
}
},"roll": 1609061
}
}
]
我该如何解决这个问题?
解决方法
您必须将角色添加到要添加到响应数组的每个学生中。
如果$students
中的对象:
for ($i = 0; $i < $count; $i++) {
// if object
$students[$i]->roll = $rolls[$i];
$response[] = [
'student' => $students[$i],];
}
如果$students
中的数组:
for ($i = 0; $i < $count; $i++) {
$response[] = [
'student' => ['roll' => $rolls[$i]] + $students[$i],];
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。