我的控制器:
public function getNotificationApplication($user_id, $notification_id)
{
$userdetails = Notification::with('user')->where(['user_id'=>$user_id])->first();
$dataList = [];
$dataList['notify'] = NotificationTypeA::with('notification')->where(['notification_id'=>$notification_id])->get();
return view('Notification.notification_application', $userdetails, $dataList);
}
我的路线:
Route::get('/notification_application/{user_id}/{notification_id}', 'NotificationController@getNotificationApplication')->name('show.notification_application');
我的观点:
@foreach ($userdetails as $userdetail)
{{$userdetail->storage_location}}
@endforeach
当我从数据库中检索数据时,我得到了一个
未定义的变量:userdetails
我可以检索我作为数组传递的其他变量($ data),我可以像这样显示它们
@foreach ($notify as $notification)
<tr>
<td>{{ $notification->item_name }} </td>
<td>{{ $notification->risk_level }}</td>
<td>{{ $notification->quantity }}</td>
<td>{{ $notification->volume }}</td>
<td></td>
</tr>
@endforeach
当我使用
时 `dd($userdetails);`
在控制器中我得到了正确的数据。
我不知道如何做到这一点。
答案 0 :(得分:2)
改变它:
return view('Notification.notification_application', $userdetails, $dataList);
到
return view('Notification.notification_application', array('userdetails' => $userdetails, 'dataList' => $dataList));
再试一次。
说明: view()
的第二个参数是一个数组,我们可以在其中传递key
=&gt; {{一对。在视图中,我们可以使用value
key
来获取数据
答案 1 :(得分:1)
您必须将阵列传递给刀片。
为此,您可以使用Mayank Pandeyz所说的语法,或者您可以使用compact()
来使代码更清晰。
return view('Notification.notification_application', compact('userdetails' ,'dataList'));
答案 2 :(得分:1)
感谢Parth Vora和Mayank Pandeyz
我结合他们的两个答案解决了我的问题。
首先,我传递了2个参数,其中一个是数组,另一个只是表格的第一行。
所以我必须在控制器中稍作修改
$userdetails['userdetails'] = Notification::with('user')->where(['user_id'=>$user_id])->first();
然后返回
return view('Notification.notification_application', array('userdetails' => $userdetails), $dataList);
这就是诀窍..
谢谢......答案 3 :(得分:1)
您可以使用以下方法
1)return view('Notification.notification_application', compact('userdetails' ,'dataList'));
2)return view('Notification.notification_application', ['userdetails' => $userdetails , 'dataList' => $dataList]);
3)
return view('Notification.notification_application')
->with('userdetails', $userdetails)
->with('dataList, $dataList);
答案 4 :(得分:0)
您可以通过两种方式传递return view
中的数据:
return view('Notification.notification_application', compact('userdetails','dataList'));
OR
return view('Notification.notification_application',
[
'userdetails'=>$userdetails,
'dataList'=>$dataList
]);