我想从数据库中选择:SELECT * FROM database WHERE id=1 OR id=2 OR id=5;
我不知道用户要求的where子句的数量,它可以是1,也可以是10。
我尝试使用Model::orWhere([['id','=',1],['id','=',2],['id','=',5]])
但它似乎返回一个空列表。
在Laravel
文档中,有WHERE
子句的示例:
users = DB::table('users')->where([
['status', '=', '1'],
['subscribed', '<>', '1'],
])->get();
尽管WHERE
子句在示例中起作用,但orWhere
子句似乎并不像这样工作。
答案 0 :(得分:2)
使用类似:
User::whereIn('id', [1, 2, 3])->get();
作为第二个参数,您需要使用数组。
答案 1 :(得分:2)
根据我的评论,我们可以通过IN Clause解决这个问题。
$model = Model::whereIn('id', array(1, 2, 3))->get();