Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Господа, подскажите пожалуйста, есть ли возможность добавления в шаблон селекта / комбо-бокса, забирающего свои значения из бд. Не могу найти ответ на этот вопрос! Заранее благодарен.
Не в сети
в laravelcollective/html что-то должно быть. другое дело что им редко пользуются – как правило разработчики работают от готовой вёрстки, там быстрее и проще закинуть нужные данные в готовый шаблон и там их отрендерить, чем подгонять готовые решения под нужную вёрстку (не всегда это вообще оказывается возможно)
Не в сети
Как вариант
<select>
@foreach(DB::table('items')->get() as $item)
<option value="{{ $item->id }}">{{ $item->name }}</option>
@endforeach
</select>
Не в сети
ну да, только делать обращения к базе во вьюхе – это плохой код. если надо по-быстрому наговнокодить макет – сойдёт, для продакшен-кода который нужно поддерживать – вообще не вариант, с ума потом сходить будешь пытаясь разобраться откуда что вылезло. собирай данные в экшене или для лейаута – во вью-композере, а сама вьюха их уже только рендерить должна
Не в сети
То есть, собирать по частям объект в контроллере, и отправлять его в работающее представление?
Не в сети
ну в смысле по частям, просто выбрать например $post_types = PostType::all() и перекинуть его в вид с view('blah')->withPostTypes($post_types) а там его уже отрендерить в селект с @foreach($post_types as $post_type). я о том, что все вызовы что приводят к выборкам из базы данных, не должны выполняться во вью, только в контроллере или вызываемом из контроллера коде. вид должен только получать уже выбранные данные и превращать их в html.
Не в сети
Спасибо. Загвоздка у меня оказалась не в этом! А в том что была четкая уверенность, что передавать из контроллера я смогу только один массив данных. Разобрался!
Не в сети
Страницы 1