0

我尝试使用 Laravel 的助手来遍历变量,但它会出错,当我对 html 标签执行相同操作时,它可以正常工作。

{{ Form::select('categoria', array(
        @foreach($enlaceid as $categoria) 
          $categoria->id => $categoria->nombre  {{-- I tryed too with englobing with {{ }}
      )) }} 
      @endforeach

    <select name="categoria">
        @foreach($enlaceid as $categoria) 
        <option value= " {{ $categoria->id }} "> {{$categoria->nombre}} </option>
        @endforeach
    </select>
4

4 回答 4

5

使用该lists()方法并将其传递给您的Form::select()方法。像这样:

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

在您看来:

{{ Form::select('category_id', $categories) }}
于 2013-10-30T13:52:53.750 回答
2

如果您想在 laravel 5.2 或更高版本中使用 foreach laravelcollective,您可以使用与 @garethDaine 相同但在 laravel 5.2 之上的版本,pluck()因为lists()函数lists()在 laravel 5.2 中已弃用。

所以在例子中是:

$banks = Bank::pluck('name', 'id'); 

反而

$banks = Bank::lists('name', 'id');

然后在您的视图形式中:

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

注意:您 pluck() 中的第一个数组将显示在您身上<option>,第二个将value="1"作为示例。

于 2017-03-22T10:08:18.247 回答
1

由 Drew Hammond 编辑的 Gareth Daine 的答案对我有用,稍作编辑

我的控制器

$category = Category::all();

我的观点

{!! Form::select('category_id', $categories->pluck('name', 'id')) !!}
于 2018-11-20T11:59:52.677 回答
0

如果您还想为您的选项添加默认值,您需要执行以下操作:

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

在您看来:

{{ Form::select('category_id', array('0' => 'Default') + $categories) }}
于 2016-02-15T10:54:34.483 回答