如何通过laravel的列表传递超过id和name的名称()

时间:2015-05-01 08:15:15

标签: php laravel drop-down-menu

我需要通过超过" name"和" id"选择框。 我的模特有id,名字和价格。

所以我将它传递给视图:

$parts = Part::all()->lists('name','id);

我希望选择以下选项:

<option value='id' data-price='price'>name</option>

我的猜测是尝试将数组作为lists()方法中的第一个参数传递,但后来我不知道有没有办法使用Form帮助器。

 $parts = Part::all()->lists('["name"=>name, "price"=>price]','id');

有什么建议吗?

2 个答案:

答案 0 :(得分:2)

尝试做类似

的事情
$parts = Part::all()->get(array('id', 'name', 'price'))->toArray();

应该只为关联数组提供所需的列:)

答案 1 :(得分:0)

lists()不是用于构建选择,它只是从集合中创建一个数组。您必须将完整模型传递给视图,然后手动构建选择:

<select name="part">
    @foreach($parts as $part)
        <option value="{{ $part->id }}" data-price="{{ $part->price }}">
            {{ $part->name }}
        </option>
    @endforeach
</select>