在不使用whereRaw()
的情况下,使用Eloquent ORM可以进行以下查询:
SELECT *
FROM Users
WHERE name="John"
OR name="Bill";
这是我遇到的确切问题。我需要从某个不是主键的列中找到一组特定的值(因此我不能使用find()
)。
但是,我会对更通用的OR
子句感兴趣:
SELECT *
FROM Users
WHERE name="John"
OR age="26";
您可以将任意数量的OR
条款放在一起,无论其内容如何。
根据我的理解,链接多个->where()
将使用AND
连接它们。即:
User::where("name", "=", "John")
-> where("name", "=", "Bill)
-> get();
产生
SELECT *
FROM Users
WHERE name="John"
AND name="Bill";
如果我错了,请随意纠正我。
答案 0 :(得分:3)
您需要的是或者。来自the Laravel docs
$users = DB::table('users')
->where('votes', '>', 100)
->orWhere('name', 'John')
->get();