我想用laravel創建一個搜索表單,但是我無法獲得where子句的工作方式。
Laravel - Where子句不起作用
$term = $request->input('term');
$count = DB::table('members as m')
->where(DB::raw('m.member_first_name'), 'LIKE', "%$term%")
->orWhere(DB::raw('m.member_last_name'), 'LIKE', "%$term%")
->orWhere(DB::raw('m.member_business_address'), 'LIKE', "%$term%")
->orWhere(DB::raw("concat('m.member_first_name',' ','m.member_last_name')"), 'LIKE', "%$term%")
->orWhere(DB::raw("concat('m.member_last_name',' ','m.member_first_name')"), 'LIKE', "%$term%")
->orWhere(DB::raw("concat('m.member_name_affix',' ','m.member_last_name',' ','m.member_first_name')"), 'LIKE', "%$term%")
->orWhere(DB::raw("concat('m.member_first_name',' ','m.member_name_affix',' ','m.member_last_name')"), 'LIKE', "%$term%")
->count();
var_dump($count);
的var_dump($計數)總是返回所有的數據庫條目,不管搜索詞是什麼。
這是我第一個Laravel項目,我非常感謝任何幫助。
做一個'dd(DB :: getQueryLog());'在var_dump之後檢查正在生成的查詢是什麼並在此處發佈。 – Kamran
生成的查詢在執行之前是什麼樣的? – Walf