Задаюсь вопросом. Когда пишешь код, в стиле ООП, но при этом обращаешься к базе нужно ли стремиться к сокращению количества обращений к базе? Например, код:
static funtion ProductExists( $name ) {
return Product::where('name', $name)->exists();
}
static function blablabla( $data ) {
if (Self::ProductExitst( $data['name'] ) {
$id = Product:: where('name', $data['name'])->first()->id;
ProductComment::where('product_id', $id ) .....
ProductDocuments::....
}
}
Или целесообразнее не делать вызов метода ProductExists, а сразу
$product = Product:: where ( 'name', $name)->first();
if ( $product ) {
ProductComment::where('product_id', $product->id ) .....
}
В первом случае мы сначала делаем запрос к моделе, за которым последуюет запрос к базе данных.
потом мы по сути делаем снова запрос к базе данных чтоб получить нужные данные и уже использовать их в коде.
Во втором случае мы сразу получаем данные (если они есть) и если они есть, то используем их.
Так нужен читаемый стиль ООП для подобных случаев? он улучшает читаемость, но увеличивает число обращений к базе.
Ну это самый простой может не доконца раскрывающий вопрос случай. Я хочу узнать как православнее делать.
Подскажите что да как