Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 24.02.2017 20:07:14

Элементы интерфейса в laravel

Господа, подскажите пожалуйста, есть ли возможность добавления в шаблон селекта / комбо-бокса, забирающего свои значения из бд. Не могу найти ответ на этот вопрос! Заранее благодарен.

Не в сети

#2 25.02.2017 06:23:53

Re: Элементы интерфейса в laravel

в laravelcollective/html что-то должно быть. другое дело что им редко пользуются – как правило разработчики работают от готовой вёрстки, там быстрее и проще закинуть нужные данные в готовый шаблон и там их отрендерить, чем подгонять готовые решения под нужную вёрстку (не всегда это вообще оказывается возможно)

Не в сети

#3 28.02.2017 14:05:27

Re: Элементы интерфейса в laravel

Как вариант

<select>
@foreach(DB::table('items')->get() as $item)
    <option value="{{ $item->id }}">{{ $item->name }}</option>
@endforeach
</select>

Не в сети

#4 28.02.2017 14:25:45

Re: Элементы интерфейса в laravel

ну да, только делать обращения к базе во вьюхе – это плохой код. если надо по-быстрому наговнокодить макет – сойдёт, для продакшен-кода который нужно поддерживать – вообще не вариант, с ума потом сходить будешь пытаясь разобраться откуда что вылезло. собирай данные в экшене или для лейаута – во вью-композере, а сама вьюха их уже только рендерить должна

Не в сети

#5 28.02.2017 21:14:33

Re: Элементы интерфейса в laravel

То есть, собирать по частям объект в контроллере, и отправлять его в работающее представление?

Не в сети

#6 01.03.2017 06:12:23

Re: Элементы интерфейса в laravel

ну в смысле по частям, просто выбрать например $post_types = PostType::all() и перекинуть его в вид с view('blah')->withPostTypes($post_types) а там его уже отрендерить в селект с @foreach($post_types as $post_type). я о том, что все вызовы что приводят к выборкам из базы данных, не должны выполняться во вью, только в контроллере или вызываемом из контроллера коде. вид должен только получать уже выбранные данные и превращать их в html.

Не в сети

#7 01.03.2017 16:22:39

Re: Элементы интерфейса в laravel

Спасибо. Загвоздка у меня оказалась не в этом! А в том что была четкая уверенность, что передавать из контроллера я смогу только один массив данных. Разобрался!

Не в сети

Подвал раздела