使用多个where子句创建SQL查询

时间:2013-05-13 18:18:33

标签: php laravel laravel-4

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

select * from table1 where `name` = 'paul' AND `id` = 1
在Laravel中使用Eloquent

,但我不知道正确的语法。

2 个答案:

答案 0 :(得分:11)

简单,使用其他where

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

然后您可以使用get()first()来获取行。

如果您只想使用查询构建器(Fluent),请将Model::替换为DB::table('table1')->

注意

  • =在此可选。在这里你可以使用其他运营商。

<强>更新

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

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

答案 1 :(得分:2)

您必须拥有与table1对应的对象。

雄辩的对象:

class User extends Eloquent {

    protected $table = 'table1';

    ...
}

ORM查询:

$user = User::where('name', 'paul')
              ->where('id', 1)
              ->first();