Я изо всех сил пытаюсь с помощью eloquent сделать что-то совершенно конкретное.
У меня есть две таблицы: «еда» и «продукты» и сводная таблица еды_продукта, которая связывает каждый продукт с одной едой.
Одна важная вещь заключается в том, что продукт имеет энергию, в ккал.
Учитывая, что у пользователя могут быть разные блюда, которые могут содержать один и тот же продукт, я хотел бы получить общую энергию 5 продуктовчто пользователь потребляет больше всего.
Я также должен был выбрать 5 продуктов с самым высоким энергетическим значением, потребляемым одним конкретным пользователем, и вот что я сделал:
$highProducts = Product::whereHas('meals', function($q) use($user_id) {
$q->where('user_id', $user_id);
})->whereNotNull('energetic_value')
->orderBy('energetic_value', 'DESC')
->take(5)
->get();
Это работаетно я не могу понять, как его адаптировать, чтобы он подсчитывал количество раз, сколько пользователь потребил продукт, а затем умножил его на его энергетическое значение, чтобы получить общее количество.