$job_types = DB::table('jobs')->pluck('job_type')->unique();
高级代码返回如下的集合。
同样在Laravel Blade代码下方制作带有上部集合的选择列表。
<!-- Job Type Field -->
<div class="form-group col-sm-4" >
{!! Form::label('job_type', 'Emne:') !!}
{!! Form::select('job_type', $job_types, null, ['class' => 'form-control', 'id' => 'job_type']) !!}
</div>
所以我的目标是在选择框中发布选定的值。 但我得到了像0,2,17,6这样的密钥作为数据库中的值。 我仍然只有 KEY 而不是值。
如何获取将数据插入数据库的值?
答案 0 :(得分:1)
请参阅:https://laravel.com/docs/4.2/html#drop-down-lists
Form::select('size', array('L' => 'Large', 'S' => 'Small'));
数组键将被视为select
的值。
因此,您的问题是您的$job_types
数组未按照您的请求进行格式化。
如果您希望将job_type
作为select
值,请确保它们是$job_types
密钥。
更改:
$job_types = DB::table('jobs')->pluck('job_type')->unique();
到
$job_types = DB::table('jobs')->pluck('job_type', 'job_type')->unique();
答案 1 :(得分:0)
您可以简单地将第二个参数提供给pluck方法:
$job_types = DB::table('jobs')->pluck('job_type', 'job_type')->unique();
但是,我认为你应该重新考虑存储价值的做法,因为它可能会导致违反database normalization。
答案 2 :(得分:0)
使用groupBy()
:
$job_types = DB::table('jobs')->groupBy('job_type')->pluck('job_type');