php - Laravel:从数据库填充表单下拉列表

标签 php mysql laravel laravel-5.3

第一个 Laravel 项目。

我想制作一个从 mysql 数据库填充的表单下拉列表。我在文档中找到了这个:

Form::select('size', array('L' => 'Large', 'S' => 'Small'))

我试过这个:

{{Form::select('size', array(
                @foreach ($suppliers as $supplier)
                $supplier->id => $supplier->name
                @endforeach
))
}}

但是我遇到了语法错误:

ErrorException in e34a9587ee23853b6d4c489cc0ed13515fad9c06.php line 23: Parse error: syntax error, unexpected '<', expecting ')' (View: /var/www/html/project/laravel/leltar/resources/views/invoice.blade.php)

我做错了什么?

最佳答案

Pluck 从 laravel 版本 5.3 返回一个集合,答案是错误的,它不会正确显示选择框!

这是正确的解决方案!

$suppliers = Supplier::pluck('name', 'id')->toArray();

在 View 中这样调用它:

{!! Form::select('supplier', $suppliers, null, ['class' => 'form-control']) !!}

Laravel 5.5 更新

刚刚对此进行了测试,在 Laravel 5.5 中 pluck() 无需像这样在其上附加 toArray() 即可工作:

$tags = Tag::pluck('name', 'id');

或者对于这个问题;

$tags = Supplier::pluck('name', 'id');

关于php - Laravel:从数据库填充表单下拉列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43000933/

相关文章:

mysql - 非常大的字段对 MySQL 数据库有负面影响吗?

php - Laravel Cashier 在新创建的订阅中返回 false

php - Wordpress 主题未在服务器文件夹上生成正确的主页

javascript - 随机图像服务

mysql - 如何检查插入语句中是否存在行,其中使用 implode 和 array() 插入值

php - 数据库搜索词突出显示和结果截断

mysql - 如何从多列条件中获取用户id的详细信息?

php - 制作主要功能的地方 laravel

php - xDebug 和 PHPUnit 的代码覆盖率说是 100%,实际上不是

php - 无法自动提交表单