Запрос на родственные записи

247
13 февраля 2018, 05:42

Запросом подвесил сервер.
Задача такая:
Есть некие товары, которые имею связи по категории и по городу.
Необходимо для любого товара выбрать 4-е случайных родственных.
То есть, сначала 4-е в той же категории и в том же городе, если нету, тогда в той же категории, ну и иначе любые 4-е или если вообще меньше 4-х, то где те, что есть.

Написал такой запрос (см. ниже), но apache кричит, что недостаточно памяти.

$ads = Ad::where('publish', 1)
->where('category_id', $cat_id)
->where('id', '!=', $this->id)
->inRandomOrder();
    if($ads->count() > 4){
        $res = $ads->where('city_id', $city_id);
        $count = $res->count();
        if($count >= 4){
            $res = $res->take(4)->get();
        }else{
            $res = $res->union($ads->take(4-$count))->get();
        }
    }else{
        $res = $ads->get();
    }
    return $res;
READ ALSO
Запросы к mysql node.js

Запросы к mysql node.js

Проблема в следующем SELECT * FROM rigs INNER JOIN configs - отправляю такой запрос и получаю ответ записи из таблицы rigs, но мне надо получить как то и связанные...

198
Простой запрос на SQL

Простой запрос на SQL

Здравствуйте! Есть две таблицы статьи и категорииВ категориях есть id, cat_name

228
Смена пользователя в mysql без quit

Смена пользователя в mysql без quit

Добрый вечер! Подскажите как с пользователя root в командной строке перейти к другому пользователю без quit

220
Как переформатировать INSERT JOIN запрос с MySql на PostgreSQL

Как переформатировать INSERT JOIN запрос с MySql на PostgreSQL

В общем, мигрирую своего телеграм бота с mysql на postgresql и появилась необходимость переформатировать данный запрос:

267