Из контроллера в шаблон передаю данных из БД, он выводит в цикле табличку с данными. А как мне сделать новый запрос в зависимости от данных в первой табличке.
Например, выводится список заявок (имя, телефон), а как мне сразу в этой же табличке выводить данные есть ли у этого пользователя оформленный договор в прошлом(из таблицы договора и поиском по номеру телефона)?
В этом вопросе всё неправильно.
Надо сначала немного разобраться в терминах, и в том как работает веб-приложение.
Во-первых, не из второй базы, а из второй таблицы
Во-вторых, боже упаси, только не "в blade". Шаблоны не работают с БД. Ради этого всё и затевалось - все эти MVC, фреймворки, контроллеры, шаблоны. Только для того, чтобы при выводе HTML уже никто ни в какую базу не ходил.
В-третьих, как уже наверное понятно, все данные, которые должен отобразить шаблон, должен передать в него контроллер. То есть код не должен ходить туда-сюда, сначала в базу, потом в контроллер, потом в шаблон, потом снова в базу... А путь всегда должен быть чёткий прямой как линейка - контроллер сходил в модель, получил данные, передал во вью.
В-четвертых, надо учиться работать с БД в Елоквенте. В частности разобраться с отношениями один ко многим. И получать всю нужную информацию одним запросом в модель. И вот это уже будет нормальный вопрос, который можно задать, но лучше - нагуглить
FanatPHP, извиняюсь, но влезу. Сам столкнулся с этим...
вот у меня модель City. с отношением City hasMany Events.
Я в контроллере подгружаю $city->load('events). Далее передаю в blade $city.
Но в цикле я же делаю $city->events. Это сработают уже переданные данные или сработает запрос к БД?
Дмитрий, ну кстати хороший вопрос
это зависит от реализации
если ленивая загрузка, то вполне может и полезть в БД.
я елоквент плохо знаю, но думаю что метод с названием load все-таки сразу загружает все нужные данные, и потом в базу уже никто не лезет
Дмитрий, если в блейд шаблоне планируется один раз писать $city->events очевидно нет никакого смысла делать load. Это лишний код. Ларавел итак одной командой сделает коллекцию. Другое дело что на практике нужно уточнять запрос (поля, скопы, фильтрация и т.д.) паковать в ресурс, пагинация итд. и тогда лучше убрать в переменную в контролере $events = $city->events()-запрос-...