[英]passing nested array from controller to view in laravel
我是laravel的新手,我试图从这里解决问题
我有如下控制器:
foreach($users as $user){
$message[] = Model::where('id',$user->id)->get();
}
$data['tests'] = $message;
return View::make('user.index', $data);
我的观点是:
@foreach($tests['message'] as $test)
id : {{$test->id}}
@endforeach
这给了我Undefined index: message
我在控制器中转储了$data
。 我的数组如下所示。 我将var_dump放在return语句之前的控制器中。 我的var_dump($data)
显示:
array(1) {
["tests"] => array(2) {
[0] => object(Illuminate\ Database\ Eloquent\ Collection) #515 (1) { ["items":protected]= > array(2) {
[0] => ["attributes": protected] => array(14) {
["id"] => string(3) "12"....
}
}
[1] => object(Illuminate\ Database\ Eloquent\ Collection) #515 (1) { ["items":protected]= > array(2) {
[0] => ["attributes": protected] => array(14) {
["id"] => string(3) "12"....
}
}
}
我做错了什么。 请帮我
@foreach($tests as $test)
//$test is an array returned by get query.
@foreach($test as $item)
id : {{$item->id}}
@endforeach
@endforeach
获取返回数组,如果要返回一个元素,请使用find()或first()。
你的$tests['message']
应该是$tests
因为你没有在你的控制器中定义消息。
$message = array();
foreach($users as $user){
$message[] = Model::where('id',$user->id)->get();
}
$data['tests'] = $message;
return View::make('user.index', $data);
视图
@foreach($tests as $test)
id : {{$test->id}}
@endforeach
尝试这个:
$users = App\User::all()
foreach($users as $user){
$message[] = Model::where('id',$user->id)->get();
}
$data['tests'] = $message;
return view( 'user.index', compact('data') );
在views / user.index.blade.php中
@foreach($data['tests'] as $test)
id : {{$test->id}}
@endforeach
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.