我有一個車輛表。在我的車輛搜索頁面中,我會根據所選車型,顏色等對車輛進行過濾。將多個過濾器應用於Laravel 5的表格
在我的代碼中,我嘗試實例化車輛模型。然後將過濾器應用到它並嘗試使用get()運行查詢,但給我提供了錯誤。
代碼在這裏:
$vehicles = Vehicle::all();
if($request->input('model'))
{
$vehicles->whereHas('model', function($q)
{
$q->where('model_name', '=', 'CL');
});
}
if($request->input('color'))
{
$vehicles->where('color', '=', 'red');
}
// other filters here
$result = $vehicles->get();
dd($result);
這裏只舉一個過濾器的工作原理,如果我直接在樣車車型使用whereHas :: whereHas()。如果我必須根據條件應用多個過濾器,那麼解決方案是什麼? 誰節省了我的一天:)
模型名稱在模型表中,可以使用wherehas過濾,但顏色在車輛表中。我需要應用這些基於如果輸入存在。根據到達的輸入,可能有多個地方也適用。 –
@mirzavu更新後支持在父表上進一步進行'where'過濾,並在相關表上允許'whereHas'。 – Ohgodwhy
該查詢現在可以正常工作了,並且我建議對收集進行編輯以使其正常工作!請接受編輯並將其標記爲ans。非常感謝 –