Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Здравствуйте!
Есть 2 таблицы:
users
id
id_depart
departments
id
type
Как в laravel 5.4 средствами eloquent создавать запросы такого типа (с несколькими таблицами в from без join)?
SELECT users.*
FROM users, deraptments
WHERE users.id_depart = departments.id
WHERE departments.type = 3
Изменено taraks (06.12.2018 22:56:34)
Не в сети
Привет, ребята постарались и описали это все в статье https://laravel.ru/docs/v5/eloquent-relationships
Или выноси код в DB::raw('SELECT ...')
Изменено McPack (07.12.2018 03:38:38)
Не в сети
Можете привести прямо нужные строчки из статьи, где это описано? Я вот не нашла, кроме join(), потому и спросила. DB:select() пока и использую, но это сырой запрос, и возвращает он не коллекцию, а массив, что очень начинает затруднять при дальнейшем использовании этих данных( В коллекции много полезных методов, а тут массив с какого-то..(
Не в сети
Для того, чтобы избежать сырых запросов в таких ситуациях, устанавливаю связь (hasOne - belongsTo) между этими таблицами и делаю transform коллекции users, забывая лишние элементы коллекции.
Не экономично, но без сырых запросов.
Не в сети
Мм, интересный вариант. Спасибо, попробую!
(всё-таки это странно, что для построения самых простецких запросов с перечислением связанных таблиц в from не добавили простого метода from, и поэтому нужно всячески изгаляться)
Не в сети