当我将DB数据返回到blade laravel时,我得到了一个空表。
Controller.php
public function showreport($id)
{
$data = Cases::find($id);
return view('report',['reports'=>$data]);
}
报告。刀片
@foreach($reports as $report)
<tr>
<td>{{$report['id']}}</td>
<td>{{$report['first_name']}} {{$report['last_name']}}</td>
<td>{{$report['cnic']}}</td>
<td>{{$report['area_code']}} {{$report['phone']}}</td>
<td>{{$report['first_def']}} {{$report['last_def']}}</td>
<td>{{$report['case_type']}}</td>
</tr>
@endforeach
Route.php
Route::get('history/report/{id}', [AppHttpControllersCaseController::class, 'showreport'])->name('user')->middleware('auth');
似乎无法解决该问题。它会返回$data变量fine,但不会在表中显示该行。
find()
方法对于使用其主ID值从表中获取单个记录非常有用。所以它只返回一条记录,而不是一个数组。如果你想获得一个记录数组,你可以使用:
$data = Cases::query()->where('id', $id)->get();
这在逻辑上可能是错误的。因为虽然你总是需要一张唱片,但你为什么要用一张桌子呢?
IGP的建议有效。
在控制器中,我将$data=Cases::find($id(更改为$data=CCases::where('id',$id(->get((