我想顯示報告表中可用的搜索結果“devname”表格設備,所以
public function show_report()
{
$device = device::all();
$reports = report::all();
if (request()->has('keyword')) {
$keyword = request()->keyword;
$reports = report::latest()
->where('title', 'like', "%$keyword%")
->orwhere($reports->device->devname, 'like', "%$keyword%")
->paginate(10);
} else {
$reports = report::orderBy('id', 'desc')->paginate(10);
}
return view('admin/reports.show_report', compact('dev', 'reports'));
}
SQLSTATE [42S22]:未找到列:1054 'where 子句'中的未知列'$reports'
uj5u.com熱心網友回復:
這就是你需要的:
public function show_report(Request $request)
{
$devices = Device::all();
$reports = Report::query();
if ($keyword = $request->keyword) { // here you can set variable $keyword
$reports = $reports
->join('devices', 'reports.device_id', '=', 'devices.id') // use join to take devices table
->where('reports.title', 'like', "%$keyword%")
->orwhere('devices.devname', 'like', "%$keyword%");
}
$reports = $reports->orderBy('id', 'desc')->paginate(10);
// in compact function the correct variable name is "devices", "dev" is an unknown variable
return view('admin/reports.show_report', compact('devices', 'reports'));
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/412347.html
標籤:
