у меня есть product
объект, который имеет отношение один ко многим price
объект. (по одному на каждую страну) Я использую класс репозитория для извлечения ценовых объектов.
Теперь я вижу два «разных» подхода к тому, как получить цену продукта, например.
1) Ленивая цена внутри product
объект
$productPrice = $product->getPrice('de'); // 'de' representing the country
2) Или просто с помощью хранилища напрямую
$productPrice = $priceRepository->filterByProduct($product)->filterByCountry('de')->get();
При первом подходе это product
класс, который в основном делает то же самое, что 2). Таким образом, оба подхода очень похожи.
Я должен сказать, что я склонен к решению 2), я думаю, что это лучшее разделение интересов, и это делает product
независимо от цены хранилища.
(хотя я использую контейнер для внедрения зависимостей, так что это не будет большой проблемой)
Но какова лучшая практика здесь? (и для всех других реляционных объектов в этом отношении)
Задача ещё не решена.
Других решений пока нет …