如何在Laravel 5.4中使用数据库填充选择框?

时间:2017-04-17 13:51:07

标签: php laravel laravel-5

我有一个编辑页面,其中传递了产品的数据,在此页面上我有一个类别更改的选择框,其中我需要插入在我的数据库中注册的所有类别,但只显示与之相关的类别页面的产品。

选择编辑框视图

<select class="selectpicker" data-live-search="true">
          @foreach($produtos->categoria as $categoria)
          <option data-tokens="{{$categoria->erp_name}}" value="{{$categoria->erp_categoryid}}">{{$categoria->erp_name}}</option>
          @endforeach
          </select>

ProdutosController

public function edit($id)
    {
        $produtos = Produtos::find($id);

        return view('functions.edit')->with('produtos', $produtos);
    }

路线

Route::get('/product/update/{id}', 'ProdutosController@edit')->name("product::updateGet");
Route::post('/product/update/{id}', 'ProdutosController@update')->name("product::updatePost");

有什么建议吗?

1 个答案:

答案 0 :(得分:2)

问题是您正在遍历该产品的类别,而不是所有类别。这是一个解决方案:

public function edit($id)
{
    $produtos = Produtos::find($id);
    $categories = Category::all();

    return view('functions.edit', compact('produtos', 'categories'));
}

然后在你看来:

<select class="selectpicker" data-live-search="true">
      @foreach($categories as $categoria)
          <option data-tokens="{{$categoria->erp_name}}" value="{{$categoria->erp_categoryid}}">{{$categoria->erp_name}}</option>
      @endforeach
</select>