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

Php 如何使用Laravel 5.4中的数据库填充选择框?,php,laravel,laravel-5,Php,Laravel,Laravel 5,我有一个编辑页面,其中传递产品的数据,在此页面上我有一个类别更改选择框,其中我需要插入数据库中注册的所有类别,但只显示与页面产品相关的类别 选择编辑视图框 <select class="selectpicker" data-live-search="true"> @foreach($produtos->categoria as $categoria) <option data-tokens="{{$categoria->erp

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

选择编辑视图框

<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>
路线

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

有什么建议吗?

问题是您正在循环浏览该产品的类别,而不是所有类别。以下是一个解决方案:

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> 

@foreach($categories作为$categoria)
{{$categoria->erp_name}
@endforeach

抓取所有类别,将其分配给另一个变量,并将其传入。然后将其用于select。使用
$categories=Categoria::all()提取并使用('categories',$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>