首页 > 解决方案 > 雄辩的 Laravel 查询

问题描述

早上好。

我有一个无法用雄辩的问题解决的问题,让我把它放在上下文中。

我有几个农场,我需要该农场的所有订户,这些订户通过数据透视表取出,然后是这些订户的所有收据,到目前为止一切都很好。问题在于我在收据的日期中设置了一个条件,并且我希望它不会提取不满足该条件的订阅者。

 $estates = Estate::with(['adminEstate.neighbours' => function ($query) use ($past_date_init) {
            $query->with(['receiptHeader' => function ($query2) use ($past_date_init) {
                $query2
                    ->where('receipt_h_billing_init', '<=', $past_date_init)
                    ->where('receipt_h_billing_end', '>=', $past_date_init);
                $query2->with('receiptDetail');
            }
            ]);
        }])->get();

如果他们不满足日期条件,我将无法获得订阅者。

谢谢你的帮助

标签: phpmysqllaraveleloquenttwig

解决方案


那么现在你可以使用

query2
 ->whereDate('receipt_h_billing_init', '<=', $past_date_init)
 ->whereDate('receipt_h_billing_end', '>=', $past_date_init);

query2
     ->whereBetween(DB::raw('Date(receipt_h_billing_init)'),[$past_date_init,  $past_date_init]);

正如你在这里看到的,我没有使用whereBetween,因为它也会比较第一个工作正常的时间


推荐阅读