Laravel选择Model的名称和ID,并在SelectBox中使用

时间:2016-09-21 12:02:39

标签: forms laravel drop-down-menu

这是我在控制器中的当前功能:

public function addProduct()
{
    $categories = Category::all();

    return view('admin.products.add')->with('categories', $categories);
}

我想只选择列#34; name"和" id"从类别模型中,将它们分配到我视图中的选择框,如下所示:

<select>
    <option value="ID">NAME</option>
</select>

如何使用Form - Facade?执行此操作

4 个答案:

答案 0 :(得分:6)

尝试使用laravel pluck中的Collection方法:

$categories = Category::all()->pluck('name', 'id');

然后在视图中:

{!! Form::select('name', $categories) !!}

答案 1 :(得分:1)

尝试生成所有类别

<select name="category" class="form-control">
  @foreach($categories as $category)
    <option value="{{ $category->id }}">{{ $category->name }}</option>
  @endforeach                 
</select>

如果您想设置特定类别,请执行此操作

<select name="category" class="form-control">
  @foreach($categories as $category)
    <option value="{{ $category->id }}" <?php if($hotel->category_id == $category->id) { echo "selected";}?>>{{ $category->name }}</option>
  @endforeach                 
</select>

答案 2 :(得分:0)

您可以使用foreach here

在您的刀片视图中。

<select name = "category[]">
    @foreach($categories as $category)
       <option value = "{{$category->id}}">{{$category->youValueHere}}></option>
    @endforeach
</select>

答案 3 :(得分:0)

  

列表在L5.2中已弃用,在L5.3上已删除

试试这个,简单&amp;整齐。

$categories = Category::lists('name', 'id');

{!! Form::select('categories[]', $categories, null, [ 
        'class' => 'form-control', 'multiple'
]) !!}