Что лучше два запроса в базу или один, но с дополнительной обработкой массива?
На сайте выводится список лотов разных художников. Пользователь выбирает лот и переходит на страницу этого лота. Тут отображается информация о выбранном лоте и дополнительно выводится (отобрана) информация о наличии других лотов этого художника.
Какой способ вывода информации будет лучше или они оба приемлемые?
Способ #1.
Один запрос в базу. Делаем запрос
$result_lots = $db->loadObjectList();
Для отображения информации по выбранному лоту по id этого лота находим ключ массива этого лота.
$a = array_column($result_lots, 'id_lot');
$key_lot = array_search($id_lot, $a);
Затем достаем из массива лота необходимо инфу
$b = $result_lots[$key_lot];
echo $c = $b->author;
echo $d = $b->catalog;
Список других лотов этого автора выводим через foreach, исключая лот, по которому уже дали информацию.
Способ #2.
Два запроса в базу. Сначала по id лота выводим информацию по интересующему лоту
$result_lot = $db->loadObject();
и из этого запроса получаем id художника.
Делаем второй запрос в базу по id художника
$result_lots = $db->loadObjectList()
и выводим через foreach список других его лотов.