在Laravel 5中选择连接位置和或位置

在Laravel 5中选择连接位置和或位置,laravel,select,join,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.'%')

我有两张表格——求职者和简历。我尝试实现三个搜索选项-输入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关键字,当我只搜索姓/名时,效果很好。但是,当我在文本框中同时键入first+last name时,不会显示任何结果

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

使用CONCAT:


像这样使用where和/或where

  $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();

希望这有帮助

我用的是:$data['resume']=resume::job'seeders','jobseers.user_-id','=','resumes.user_-id'->或者wheredb::rawCONCAT'jobseers.first_-name','',''jobseers.first_-name','LIKE','%.$q'%;但我得到了一个错误:未定义的变量:我想qfield名称不应该用“”括起来。它与WHERE CONCAT field1',filed2类似“%$q%”->WHERE CONCAT jobseers.first_name',jobseers.last_name',like',“%”.$q.%”完全相似;我得到错误:调用未定义的函数App\Http\Controllers\CONCAT$q=\Request::get'keyword'$数据['resume']=resume::Job'seeders'、'Jobseers.user_id'、'='、'resumes.user_id'->where'Jobseers.first_name'、'like'、'%.$q.''->或where DB::RawconcatJobseers.first_name'、'like'、'.$q.'->orderBy'resumes.updated_at','desc'->第50页;应该work@Naren我的意思是,上面的查询与标准SQL查询SELECT*非常相似,它来自表_name,其中CONCAT field1',filed2,如“%$%”。它只在输入名字或姓氏时起作用,但在输入姓氏和姓氏时,它不显示任何内容。
  $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();