Laravel可选where()查询

时间:2016-10-29 17:02:00

标签: mysql sql laravel

我想知道是否有类似可选的where查询。例如:

从表格中选择*,其中X必须为= 2且Y必须等于0或1?

3 个答案:

答案 0 :(得分:2)

您可以尝试:

$userId = $request->input('userId');
->where('X', 2)
->where(function($q) use($userId) {
    $q->where('Y', $userId)
        ->orWhere('Y', 1)
})

答案 1 :(得分:0)

有很多方法可以实现这一目标。

您也可以通过模型获取对象:

$collection = Mymodel::where('x', 2)->where('y', 0)->orWhere('y', 1)->get();

或者像Amit上面所示。

答案 2 :(得分:0)

您可以将orWhere()用于简单的情况,但在您的情况下,您应该使用函数返回y的where子句,如:

$result = $field->letters()->where('x', 2)->where(function ($q) {
    $q->where('y', 0)->orWhere('y', 1);
})->get();

注意:将字母替换为您的对象模型。