Структура таблицы:
prices
- id
- related (laravel morph - не суть важно, через нее указываем на что цена)
- currency_id
- value
- relevant_from (дата с которой данная цена актуальна)
Пример данных (все для одного товара):
... currency_id - value - relevant_from
... 1 100 2020-06-10
... 1 200 2020-07-10
... 1 300 2020-08-10
... 2 100 2020-06-10
... 2 200 2020-07-10
... 2 300 2020-08-10
Описание запроса:
Нужно получить актуальный список цен для продукта во всех валютах.
Актуальной цена становится при условии если relevant_from меньше или равна текущей дате и ближе всего к текущему времени.
Результат запроса выглядит так (сегодня 2020-07-16):
... currency_id - value - relevant_from
... 1 200 2020-07-10
... 2 200 2020-07-10