У меня есть две таблицы, Продукты и Транзакции.У продукта может быть много транзакций.
Я пытаюсь упорядочить все продукты по количеству транзакций за определенный период времени, даже если продукт имеет 0 транзакций.
Продукты.php (модель)
public function scopePopular($builder, $from, $to)
{
return $builder
->withCount('transactions')
->whereHas('transactions', function ($transaction) use ($from, $to) {
$transaction
->whereDate('created_at', '>', $from)
->whereDate('created_at', '<', $to);
})
->orderBy('transactions_count', 'desc');
}
Моя проблема с приведенным выше кодом заключается в том, что возвращаются не все товары, а только товары, у которых есть транзакция.
Как вернуть все товарыупорядочено по количеству транзакций за указанный период?