【发布时间】:2026-01-15 05:05:02
【问题描述】:
当我将数据库数据返回到刀片 laravel 时,我得到一个空表。
控制器.php
public function showreport($id)
{
$data = Cases::find($id);
return view('report',['reports'=>$data]);
}
报表.blade
@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}', [App\Http\Controllers\CaseController::class, 'showreport'])->name('user')->middleware('auth');
似乎无法解决问题。它很好地呼应了 $data 变量,但它没有在表中显示该行。
【问题讨论】:
-
你应该得到一个类似
Trying to access array offset on value of type bool的错误。它显示任何错误吗?? -
Cases::find($id) 应该返回单个 Cases 对象,而不是可迭代的集合。
-
@zahidhasanemon 不,它没有。只是一张空桌子。
-
代替
find($id)试试where('id', $id)->get() -
如果我没记错的话,find方法返回的对象或对象集合,而不是数组尝试像从对象$report->id e.t.c这样的循环中获取数据