这是我的范围代码:
public function scopeTest($query, $text, $usrId)
{
if (trim($text) != "") {
return $query->where("usrid", "=" ,"$usrId")->where("text1", "LIKE" ,"%$text%")->orWhere("text2", "LIKE" ,"%$text%");
}else{
return $query->where("usrid", "=" ,"$usrId");
}
}
我无法构建此查询:
select * from table where usrid = $usrId and (text1 like '%$text%' or text2 like '%$text%');
因为“或”条件无效。
答案 0 :(得分:0)
Use a closure to create a group:
$query->where('usrid', $usrId)->where(function ($query) use ($text) {
$like = "%{$text}%";
$query->where('text1', 'LIKE', $like)->orWhere('text2', 'LIKE' ,$like);
});