2

我正在尝试使用 2 个where子句进行查询,例如:

select * from table1 where `name` = 'paul' AND `id` = 1

在 Laravel 和 Eloquent 中,但我不知道正确的语法。

4

2 回答 2

11

很简单,用另一个where

Model::where('name', '=', 'paul')->where('id', '=', 1);

然后你可以使用get()orfirst()来获取行。

如果您只想使用 Query Builder(Fluent),请替换Model::DB::table('table1')->.

笔记

  • =在这里是可选的。在这里您可以使用其他运算符。

更新

从 Laravel 4.2 你也可以使用数组:

Model::where([
               'name' => 'paul', 
               'id' => 1
             ]);
于 2013-05-13T18:43:01.847 回答
2

您必须有一个对应于 table1 的对象。

口才对象:

class User extends Eloquent {

    protected $table = 'table1';

    ...
}

ORM查询:

$user = User::where('name', 'paul')
              ->where('id', 1)
              ->first();
于 2013-05-13T18:25:51.383 回答