为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用Laravel Eloquent创建多个Where子句查询?

如何使用Laravel Eloquent创建多个Where子句查询?

PHP
陪伴而非守候 2019-07-23 16:49:46
如何使用Laravel Eloquent创建多个Where子句查询?我正在使用Laravel Eloquent查询构建器,我有一个查询,我希望WHERE在多个条件下有一个子句。它有效,但它并不优雅。例:$results = User::where('this', '=', 1)     ->where('that', '=', 1)     ->where('this_too', '=', 1)     ->where('that_too', '=', 1)     ->where('this_as_well', '=', 1)     ->where('that_as_well', '=', 1)     ->where('this_one_too', '=', 1)     ->where('that_one_too', '=', 1)     ->where('this_one_as_well', '=', 1)     ->where('that_one_as_well', '=', 1)     ->get();有没有更好的方法来做到这一点,还是我应该坚持这种方法?
查看完整描述

3 回答

?
凤凰求蛊

TA贡献1825条经验 获得超4个赞

您可以在匿名函数中使用子查询,如下所示:

 $results = User::where('this', '=', 1)
            ->where('that', '=', 1)
            ->where(function($query) {
                /** @var $query Illuminate\Database\Query\Builder  */
                return $query->where('this_too', 'LIKE', '%fake%')
                    ->orWhere('that_too', '=', 1);
            })
            ->get();


查看完整回答
反对 回复 2019-07-23
  • 3 回答
  • 0 关注
  • 1940 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信