当我在Room中使用关键字名称进行搜索时,我希望成功,但如果我也添加了与Category的关系,我会出现错误,我希望适合我的搜索,以查找Category->姓名和房间->name,怎么样?但是仍然错误:未定义的属性:App\Http\Controllers\Admin\RoomController::$category,尽管我有相关的房间和类别权限
这个我的控制器:
$query = request('query');
$room = Room::with(['category'])
->where("name", "like", "%$query%")
->orWhere($this->category->name, "like", "%$query%")->get();
return view('admin.room.index', [
'rooms' => $room
]);
您可以使用whereHas
根据其关系查询模型:
$query = request('query');
$room = Room::with(['category'])
->where("name", "like", "%$query%")
->orWhereHas('category', function ($q) use ($query) {
$q->where('name', "like", "%$query%");
})->get();
return view('admin.room.index', [
'rooms' => $room
]);