【发布时间】:2015-06-02 10:24:49
【问题描述】:
WHERE (a=x AND b=y) 或 (c=z AND d=j) 怎么说
对于 x , y , z .. 是变量。
如何用 eloquent 做到这一点?
【问题讨论】:
WHERE (a=x AND b=y) 或 (c=z AND d=j) 怎么说
对于 x , y , z .. 是变量。
如何用 eloquent 做到这一点?
【问题讨论】:
对于多个 where 语句使用:
$result = Model::whereRaw('(a = ? and b=?) or (c=? and d=?)', ['x','y','z','j'])->get();
【讨论】:
您可以通过将闭包传递给查询构建器的where() 函数来实现此目的。这在文档 http://laravel.com/docs/5.0/queries#advanced-wheres
$results = MyModel::where(function($query) {
$query->where('a', 'x')
->where('b', 'y');
})->orWhere(function($query) {
$query->where('c', 'z')
->where('d', 'j');
})->get();
【讨论】: