【问题标题】:Fix Mongo query in Lumen修复 Lumen 中的 Mongo 查询
【发布时间】:2016-07-28 07:52:30
【问题描述】:

我在流明中有一个疑问。但它不起作用。查询是:

return Order::whereBetween('source_longitude', [$minLon_try_one, $maxLon_try_one])
        ->whereBetween('source_latitude',[51.365807806703,51.454384193297])
        ->where('status','=','pending')
        ->where('created_at','<=', 2016-04-07 12:00:35)
        ->where('created_at','>=', 2016-04-07 11:55:35)
        ->orWhere(function($query)
        {
                    $query->whereBetween('source_longitude', [51.321519613407, 51.498672386593])
                    ->whereBetween('source_latitude',[35.612195271526,35.756086728473])
                    ->where('status','=','pending')
                    ->where('created_at','<=',2016-04-07 11:55:35)
                    ->where('created_at','>=',2016-04-07 11:50:35);
        }
        )->get();

但是当我从查询中删除 orWhere 函数时,我得到了预期的结果

【问题讨论】:

    标签: mongodb laravel lumen jenssegers-mongodb


    【解决方案1】:

    您可能使用orWhere 有点错误。您需要将 where 放到另一个 where 以正确执行查询。你现在正在做的事情类似于where a is 1 and b is 2 or (c is 3 and d is 4),但我相信,你想做这样的事情where (a is 1 and b is 2) or (c is 3 and d is 4)
    试试这个:

        return Order::where(function ($query) {
            $query->whereBetween('source_longitude', [$minLon_try_one, $maxLon_try_one])
                ->whereBetween('source_latitude', [51.365807806703, 51.454384193297])
                ->where('status', '=', 'pending')
                ->where('created_at', '<=', '2016-04-07 12:00:35')
                ->where('created_at', '>=', '2016-04-07 11:55:35');
        })->orWhere(function ($query) {
            $query->whereBetween('source_longitude', [51.321519613407, 51.498672386593])
                ->whereBetween('source_latitude', [35.612195271526, 35.756086728473])
                ->where('status', '=', 'pending')
                ->where('created_at', '<=', '2016-04-07 11:55:35')
                ->where('created_at', '>=', '2016-04-07 11:50:35');
        })->get();
    

    【讨论】:

    • 谢谢。抱歉,我只是有一个问题,我如何在过去 20 分钟内创建每个订单时更新状态字段
    猜你喜欢
    • 2016-07-27
    • 2016-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-29
    • 2019-02-23
    • 2015-10-20
    相关资源
    最近更新 更多