我想使用illuminate\html创建一个类似下面的 Select 框:

<select>
    <option value="$item->id">$item->name</option>
    <option value="$item->id">$item->name</option>
</select>

在我的控制器中,我try 了以下方法:

public function create()
{
    $items = Items::all(['id', 'name']);

    return view('prices.create', compact('id', 'items'));
}

在我看来,这是:

<div class="form-group">
    {!! Form::Label('item', 'Item:') !!}
    {!! Form::select('item_id', $items, null, ['class' => 'form-control']) !!}
</div>

The issue is that instead of $item->name is displaying all the info of the entity.

推荐答案

Laravel提供了一个带有lists()函数的查询生成器

在您的情况下,您可以替换您的代码

$items = Items::all(['id', 'name']);

with

$items = Items::lists('name', 'id');

此外,还可以将其与其他查询生成器链接.

$items = Items::where('active', true)->或derBy('name')->lists('name', 'id');

来源:http://laravel.com/docs/5.0/queries#selects


Update f或 Laravel 5.2

Thank you very much @jarry. As you mentioned, the function f或 Laravel 5.2 should be

$items = Items::pluck('name', 'id');

$items = Items::where('active', true)->或derBy('name')->pluck('name', 'id');

ref: https://laravel.com/docs/5.2/upgrade#upgrade-5.2.0 -- look at Deprecations lists

Laravel相关问答推荐

在没有lang/*.json文件的情况下在Laravel项目中实现多语言支持

在postgres/mysqlс中,我可以定义基于json字段的唯一索引吗?

当两个外键都在同一个表上时创建直通关系

如何在 Laravel 中使用 Vue 路由?

在 laravel 中查询此类数据的最佳做法是什么?

Laravel 5 make:控制器在应用程序文件夹而不是控制器文件夹中创建控制器

使用 Laravel Socialite 登录 Facebook

找不到列:1054字段列表中的未知列0-Laravel-我的代码中的任何地方都没有0列

Laravel 5.3 Electron邮件队列中不允许序列化关闭

将 Laravel Socialite 与 API 一起使用?

在 Laravel 4 迁移中创建 MYSQL 过程

Laravel 5 - 为包创建 Artisan 命令

如何在laravel 5.1中使用url(路由)传递多个参数

Blade 中的条件扩展

Elastic search全文与mysql全文?

Laravel php artisan 服务于模仿 HTTPS

如何使 Laravel (Blade) 文本字段只读

将图像保存在公共文件夹中,而不是存储 laravel 5

Laravel:Redis 无法建立连接:[tcp://127.0.0.1:6379]

函数参数前的三个点代表什么?