Eloquent:或声明中的条款

时间:2014-08-03 02:08:03

标签: laravel eloquent

在不使用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";

如果我错了,请随意纠正我。

1 个答案:

答案 0 :(得分:3)

您需要的是或者。来自the Laravel docs

$users = DB::table('users')
             ->where('votes', '>', 100)
             ->orWhere('name', 'John')
             ->get();