关于 SQL 的 where 和 orWhere 的提问
我的搜索关键词这样写
- 本科&计算机&90后 这个代表且关系
- 本科|计算机|90后 这个代表或关系
我的思路如下:
- 将字符串转换为数组
- 将数组传入sql语句中where的参数中
- 处理结果
for($i=1;$i<=sizeof($wd['key']);$i++) { $arr[$i]['first'] = 'keywords'; $arr[$i]['second'] = 'like'; $arr[$i]['third'] = '%'.$wd['key'][$i].'%'; } $results = Infopackage::where($arr) ->orderBy('created_at','desc') ->paginate(10);
以上是且关系的处理,行得通
但是如果是或关系,代码应该如何写,因为orWhere是连着写,例如这样。怎么才能按照上面的思路进行啊,或者说有没有别的思路
$results = Infopackage::where('keywords','like','%'.'计算机'.'%')
->orWhere('keywords','like','%'.'本科'.'%')
->get()
Eloquent 的查詢語句是可以分開的