Реляционные объекты — Ленивая загрузка — Лучшая практика?

у меня есть product объект, который имеет отношение один ко многим price объект. (по одному на каждую страну) Я использую класс репозитория для извлечения ценовых объектов.
Теперь я вижу два «разных» подхода к тому, как получить цену продукта, например.

1) Ленивая цена внутри product объект

$productPrice = $product->getPrice('de'); // 'de' representing the country

2) Или просто с помощью хранилища напрямую

$productPrice = $priceRepository->filterByProduct($product)->filterByCountry('de')->get();

При первом подходе это product класс, который в основном делает то же самое, что 2). Таким образом, оба подхода очень похожи.
Я должен сказать, что я склонен к решению 2), я думаю, что это лучшее разделение интересов, и это делает product независимо от цены хранилища.
(хотя я использую контейнер для внедрения зависимостей, так что это не будет большой проблемой)

Но какова лучшая практика здесь? (и для всех других реляционных объектов в этом отношении)

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]