【发布时间】:2021-07-23 02:15:11
【问题描述】:
早上好。
我有一个用 eloquent 无法解决的问题,让我把它放在上下文中。
我有几个农场,我需要该农场的所有订阅者,这些订阅者通过数据透视表取出,然后是这些订阅者的所有收据,到目前为止一切都很好。 问题在于我在收据的日期中设置了一个条件,并且我希望它不会提取不满足该条件的订阅者。
$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();
如果他们不满足日期条件,我将无法获得订阅者。
感谢您的帮助
【问题讨论】:
-
请在查询条件中附上日期的格式。还要确保您的
date字段已在$datesvar 的模型中设置,因此 laravel 会将您的字段引用为日期。 -
我认为您想根据应用于您的关系的条件过滤您的基本模型,这意味着您要删除不符合“receiptHeader”条件的
adminEstate.neighbours(换句话说'在条件之后不返回数据集)对吗?
标签: php mysql laravel eloquent twig