我需要创建一个查询来搜索(名字= foo和姓氏= bar)或(名字= bar以及姓氏= foo)。要真正正常工作,这真令人沮丧。我感谢任何建议。
$this->_records->where('first_name','LIKE', $params[0])->where('last_name', 'LIKE', $params[1])->orWhere('first_name','LIKE', $params[1])->where('last_name', 'LIKE', $params[0]);
答案 0 :(得分:1)
您可以像这样将它们分组在一起:
$this
->_records()
->where(function ($query) use ($params) {
return $query->where('first_name', 'LIKE', $params[0])
->where('last_name', 'LIKE', $params[1]);
})
->orWhere(function ($query) use ($params) {
return $query->where('first_name', 'LIKE', $params[1])
->where('last_name', 'LIKE', $params[0]);
})
->get();
答案 1 :(得分:0)
您可以尝试使用此查询来搜索多个字段。
$this->_records
->whereRaw("concat(first_name, ' ', last_name) like '%".$params."%' ")
->orWhereRaw("concat(last_name, ' ', first_name) like '%".$params."%' ")
->get();