我正在嘗試向過濾表編寫查詢,但看起來有些不對勁。 $keyword = "chapel"; $city = $request->get("city"); $price = $request->get("price");首先檢查計劃表是否為空。然后開始編寫過濾查詢。 $datas = Place::whereHas("plans") ->groupBy("address","place_name") ->when($keyword, function($query, $keyword) { return $query->where("place_name", "LIKE", "%$keyword%"); }) ->when($city, function($query, $city) { return $query->where("city", "LIKE", "%$city%"); })查詢工作到 basic_info 表。但是當我$keyword在basic_info表中搜索時,然后會彈出錯誤并說調用模型 > [App\Model\Place] 上的未定義關系 [basic_infos]。 //basic info table ->when($keyword, function($query) use ($keyword){ $query->with(["basic_infos" => function($query, $keyword){ return $query->where("basic_info.wedding_style", "LIKE", "%$keyword%"); }]); }) //plan table ->when($price, function($query) use ($price){ $query->with(["basic_infos" => function($query, $price){ return $query->where("plans.plan_price", "<=", $price); }]); }) ->paginate(20); return $datas;但實際上它是定義的。這是模型放置模型public function basicInfos(){ return $this->hasMany("App\Model\BasicInfo");}基本信息模型public function place(){ return $this->belongsTo("App\Model\Place");}但是在查詢內部->when函數中,當我使用->with它時,似乎出現了問題。我想,我在錯誤的時間使用它,否則......同樣的事情肯定也會發生在plan表的查詢中......什么是正確的方法?
- 1 回答
- 0 關注
- 181 瀏覽
添加回答
舉報
0/150
提交
取消