2015-04-13 3 views
0

Я наткнулся на проблему при создании приложения CRUD в Laravel 5. В разделе редактирования продукта у меня есть 2 входа, которые заполнены из таблицы «products», и у меня есть раскрывающийся список который должен быть заполнен данными из таблицы категорий. Проблема в том, что я не знаю, как аппроксимировать выпадающий список. Я сгенерировал форму :: модель для двух входов, но я застрял в выпадающем списке.Laravel 5 Заполнение формы из двух разных таблиц

Контроллер

public function edit($id) 
{ 
    $products_edit = products::find($id); 

    return View::make('products.edit')->with('products_edit', $products_edit); 
} 

Посмотреть

{!! Form::model($products_edit, array('route' => array('products.update', $products_edit->id), 'method' => 'PUT')) !!} 

<div class="form-group"> 
    {!! Form::label('name', 'Nume') !!} 
    {!! Form::input('text', 'name', $products_edit->product_name, array('class' => 'form-control')) !!} 
</div> 

<div class="form-group"> 
    {!! Form::label('price', 'Cost') !!} 
    {!! Form::input('number', 'price', $products_edit->product_price, array('class' => 'form-control')) !!} 
</div> 

<div class="form-group"> 
    {!! Form::label('category', 'Categorie') !!} <br /> 
    {!! Form::select('category', <!-- insert var here -->, array('class' => 'form-control') !!} 
</div> 
+0

Я полагаю, что, прежде чем передать $ product_edit, вы запрашиваете необходимые данные из другой модели и сделать массив обоих, прежде чем передавать его в параметре view. – Gokigooooks

ответ

1

Вы можете сделать это в вашем контроллере:

public function edit($id) 
{ 
    $products_edit = Product::findOrFail($id); 
    $categories = Category::lists('name', 'id'); 

    return view('product.edit', compact('products_edit', 'categories')); 
} 

В представлении вы все еще делают вид модели привязки:

{!! Form::model($products_edit, array('route' => array('products.update', $products_edit->id), 'method' => 'PUT')) !!} 

И создать категорию выпадающий попробовать это:

{!! Form::label('category_id', 'Category') !!} 
{!! Form::select('category_id', $categories, null, ['class' => 'form-control']) !!} 
+0

Спасибо, но это покажет мне список категорий, не присваивая соответствующую категорию, основанную на идентификаторах категорий category_id. – Netra

+1

Извините, я забыл. Поместите название категории поля с тем же именем, что и в модели продукта. Я полагаю ** category_id **. –

0

ваш может сделать Тхи контроллер:

public function edit($id) 
{ 
    $products_edit = Product::find($id); 
    $categories = Category::pluck('name', 'id'); 
    return view('product.edit', compact('products_edit', 'categories')); 
} 
Смежные вопросы