Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Добрый вечер. Помогите адаптировать под ларавел(Query Builder) такой запрос:
$similar_flavors = DB::select('SELECT d.flavor_id, COUNT(d.recipe_id) AS count FROM flavor_recipe
INNER JOIN flavor_recipe d ON d.recipe_id = flavor_recipe.recipe_id
WHERE flavor_recipe.flavor_id = 1 AND d.flavor_id <> 1
GROUP BY d.flavor_id
ORDER BY count');
//структура таблиц
recipes(посты)
id
...
flavors(элементы)
id
...
пост_элемент(связующая)
id
recipe_id
flavor_id
Задача:
"Допустим, есть пост с этим постом связаны элементы. Мы можем получить все посты по элементу и в свою очередь элементы по посту.(Связь многие ко многим.).
Собственно вопрос, как можно сделать выборку и сортировку… Допустим, переходим к элемент1 и выводим все элементы с которыми он наиболее часто используется в постах."
Изменено axblue (16.02.2017 22:46:52)
Не в сети
я не думаю что от перевода на построитель этот код станет работать или выглядеть как-то лучше. оставь его как есть. вот что здесь не помешает так это кэширование результатов. запрос получается довольно тяжёлый, на маленьком датасете ты этого не заметишь, но с ростом количества записей (а в пивот-таблице их количество будет расти очень быстро – быстрее чем в связанных таблицах) затраты на выполнение будут также круто увеличиваться. если запрашивать базу на каждое обновление данных – в продакшене будут проблемы
Не в сети
Не в сети
Страницы 1