亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Laravel where 子句在多個 orWhere 子句之后沒有返回數據?

Laravel where 子句在多個 orWhere 子句之后沒有返回數據?

PHP
Helenr 2022-07-29 12:35:18
我正在使用 laravel 6.10 版本,因為我正在實現搜索,我有 3 張桌子1) course_category2) course_sub_category3) 課程 [course_id_category(外鍵),course_sub_category_id(外鍵)]下面是我的代碼$course = $request->searchItem;    if ($course=="") {        $Courses = DB::table('course')            ->join('course_category', 'course.course_category_id', '=', 'course_category.id')            ->select('course.*','course_category.title as category_title','course_category.thumb as category_thumb')            ->orderBy('course.title','asc')            ->paginate(15);    }    else{        $Courses = DB::table('course')            ->join('course_category', 'course.course_category_id', '=', 'course_category.id')            ->join('course_sub_category', 'course.course_sub_category_id', '=', 'course_sub_category.id')            ->select('course.*','course_category.title as category_title','course_category.thumb as category_thumb')            ->where('course.title', 'LIKE', '%'.$course.'%')            ->orWhere('course_category.title', 'LIKE', '%'.$course.'%')            ->orWhere('course_sub_category.title', 'LIKE', '%'.$course.'%')            ->get();    }當我返回值時,我正在獲取 0 個數組,但是當我從現有的查詢中刪除一個或位置時,我的查詢正在工作并且它的返回值我們所有的值都匹配意味著當我在 laravel 中使用多個 orWhere 時,我的 where 不起作用,請分享相同的解決方案。
查看完整描述

1 回答

?
狐的傳說

TA貢獻1804條經驗 獲得超3個贊

->orWhere不像典型的 SQL 那樣工作。你應該這樣使用它:


$Courses = DB::table('course')

            ->join('course_category', 'course.course_category_id', '=', 'course_category.id')

            ->join('course_sub_category', 'course.course_sub_category_id', '=', 'course_sub_category.id')

            ->select('course.*','course_category.title as category_title','course_category.thumb as category_thumb')

             ->where(function($query) use ($course){

    $query->where('course.title', 'LIKE', '%'.$course.'%')

    $query->orWhere('course_category.title', 'LIKE', '%'.$course.'%')

    $query->orWhere('course_sub_category.title', 'LIKE', '%'.$course.'%')

})

->get();


查看完整回答
反對 回復 2022-07-29
  • 1 回答
  • 0 關注
  • 134 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號