在Laravel 5中选择加入Where和orWhere

时间:2017-01-05 04:06:30

标签: laravel select join

我有两张桌子 - 求职者和简历。我尝试通过输入1."名字",2。"姓氏"和3."名字+姓氏"来尝试实现三个搜索选项。我目前的代码如下:

    $q = \Request::get('keyword');
    $data['resume'] = Resume::join('jobseekers', 'jobseekers.user_id', '=', 'resumes.user_id')
        ->where('jobseekers.first_name','like','%'.$q.'%')
        ->orWhere('jobseekers.last_name','like','%'.$q.'%')
        ->orderBy('resumes.updated_at','desc')->paginate(50);

使用我的texbox(关键字),当我只搜索姓/名时,它可以正常工作。但是,当我在文本框中键入第一个+姓氏时,它没有显示任何结果。

请与我分享如何实现这一目标。

2 个答案:

答案 0 :(得分:0)

使用CONCAT()

 ->orWhere(DB::raw("CONCAT(jobseekers.first_name, ' ', jobseekers.last_name)"), 'LIKE','%'.$q.'%');

答案 1 :(得分:0)

使用此处的地点或地点

  $results = App\Table::select('*')
   ->where(function ($query) use ($search_term) {
        $query->where('column3', 'like', $search_term.'%')
              ->orWhere('column4', 'like', $search_term.'%')
   })
   ->orderBy('column1', 'asc')
   ->get();

希望这个帮助