Здравствуйте!
Задача: получить через eloquent из модели GoodPriceByDate цены товаров [2151,2152] на дату 01.05.2019 или ранее. Нужны только две записи, выделенные болдом.
Пока решил так:
// данная выборка отдает записи 3,4,6,7
$pricesByDate = GoodPriceByDate::select(['good_id', 'price', 'date'])
->where('price_type', 'main')
->whereIn('good_id', $goodIDs)
->where('date', '<=', $date)
->orderBy('good_id')
->orderBy('date', 'desc')
->get()
->all();
$prices = [];
foreach ($pricesByDate as $price) {
// берем самму раннюю
if (empty($prices[$price->good_id]) && ($price->price > 0.005)) {
$prices[$price->good_id] = $price->price;
}
}
Но хотелось бы в мускуле всё запросить и получить готовое, так как по каждому товару изменений цен много.
Не гонять кучу инфы с последующей обработкой.