【问题标题】:How to specify which attribute to display in Select/Form in Laravel 4?如何指定在 Laravel 4 的 Select/Form 中显示哪个属性?
【发布时间】:2014-10-12 20:08:23
【问题描述】:

我有一个名为“类型”的表,其中包含字段> id 、 name 、 ...

我想要一个仅显示名称属性的选择框,所以我这样做了>

1- 从数据库中获取信息>

$types= Type::all();

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

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

2- 我这样创建 Select>

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

当然,我从 $types 中获取所有值,而不仅仅是名称。选择框中的每一行都是这样的......:

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

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

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

但这会产生一个错误。

非常欢迎任何帮助!

【问题讨论】:

    标签: forms select laravel


    【解决方案1】:

    选择时,使用lists 方法。

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

    这会返回一个为选择列表正确格式化的数组,键是 id,名称是您要返回的每条记录的值。

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

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

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

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

    【讨论】:

    • 我也试过这个: $types= Type::lists('name','id'); //排除'all'然后返回 View::make('clients')->with ('types',$types);和您发布的完全一样的选择表单,它也可以正常工作
    猜你喜欢
    • 2015-11-23
    • 2017-07-13
    • 2013-07-13
    • 1970-01-01
    • 2018-01-12
    • 2017-04-05
    • 2013-12-27
    • 2016-07-25
    • 1970-01-01
    相关资源
    最近更新 更多