如何指定在Laravel 4中的选择/表单中显示哪个属性?

时间:2014-08-19 16:14:25

标签: forms select laravel

我有一个名为'types'的表格,字段为> id,name,...

我想要一个选择框只显示name属性,所以我做>

1-从DataBase获取信息>

$types= Type::all();

并使用return语句将其传递给视图。

return View::make('clients')-> with('types',$types);

2-我创建了像这样选择>

{{ Form::select('myTypes',$types) }}

但当然我从$ types获得所有值,而不仅仅是名字。对于选择框中的每一行,这样的事情......:

{"id":1,"name":"name1", ....}

为了解决这个问题,我尝试了这个:

{{ Form::select('myTypes',$types->name) }}    

但这会让我产生错误。

非常欢迎任何帮助!

1 个答案:

答案 0 :(得分:2)

选择时,请使用lists方法。

$types= Type::all()->lists('name', 'id');

这将返回一个为选择列表格式正确的数组,key是id,name是您要返回的每条记录的值。

此外,您可以使用make()的第二个参数将变量传递到视图而不是with()

return View::make('clients', array('types' => $types));

然后,视图中的选择列表......

{{ Form::select('myTypes',$types) }}