Laravel 5指定在使用toArray()时以选择形式显示哪个字段

时间:2016-11-02 17:59:15

标签: laravel laravel-5

我有一个选择表单,允许用户从模型列表中选择一个选项:

{!! Form::select('start_waypoint_id', array('0' => 'Select ...') + $waypointList->toArray(), null, ['class' => 'form-control']) !!}

现在,用户在选择下拉列表中看到名称字段。我想知道的是如何更改用户在查看下拉列表时看到的字段?

2 个答案:

答案 0 :(得分:0)

您可以将pluck()功能用作:

 $waypointList->pluck('name')->toArray();

它将返回name的数组。您可以使用要在选择中显示的pluck函数中的任何其他属性。

答案 1 :(得分:0)

根据您的代码,您需要ID value select代码,因此您需要将代码更新为:

$waypointList->pluck('name', 'id')->toArray();

作为奖励,我可以告诉你,这就是我在那种情况下所做的。我在我的Eloquent模型中添加了名为toForm的静态方法(你可以随意调用它,例如。toSelect):

public static function toForm() {
    return (new static)->pluck('name', 'id')->toArray();
}

在刀片文件中,我只使用以下代码:

ModelName::toForm();
恕我直言,这样它会更清洁。