У меня ассоциация Price
belongsTo Season
согласующих ассоциаций и не связана запись CakePHP 3
Я пытаюсь запросить все цены, которые соответствуют определенному диапазону дат, когда прошли в сезоне, а также любой, которые не имеют ни одного (Prices.season_id=0
)
Вот что у меня есть:
// build the query
$query = $this->Prices->find()
->where(['product_id'=>$q['product_id']])
->contain(['Seasons']);
if(!empty($to_date) && !empty($from_date)) {
$query->matching('Seasons', function ($q) {
return $q->where([
'from_date <= ' => $to_date,
'to_date >= ' => $from_date
]);
});
}
Однако это будет возвращать только цены явно связанные с сезоном. Как мне заставить его возвращать Price.season_id = 0 также?