在刀片模板中选择SelectRaw以创建下拉列表

时间:2017-04-18 10:06:03

标签: php mysql laravel eloquent

数据库表有两个字段first_name和last_name。 如果我想填写下拉框,我可以使用此代码:

{!! Form::select('driver_id',  App\Driver::pluck('first_name','id'), null, ['class' => 'form-control'])  !!} 

但如果我想要连续两个文件,我应该在我的模型上使用SelectRow:

{!! Form::select('driver_id',  App\Driver::select(DB::raw("CONCAT(first_name,' ', last_name) AS full_name, id"))->pluck('full_name','id'), null, ['class' => 'form-control'])  !!} 

但是这个解决方案不起作用,这就是我得到的:

<select class="form-control" name="driver_id">
<option value="">Autista...</option>
<option value="11"> </option>
<option value="12"> </option>
<option value="13"> </option>
.....
</select>

那是....选择不会获得“full_name”,但获取“id”字段。 怎么解决?

3 个答案:

答案 0 :(得分:0)

我想你可以试试这个:

{{ Form::select('driver_id',  App\Driver::select(DB::raw("CONCAT(first_name,' ', last_name) AS full_name, id"))->lists('full_name','id'), null, ['class' => 'form-control']) }}

希望这对你有用!

答案 1 :(得分:0)

在您的刀片文件中尝试此操作:

App\Driver::select(
        DB::raw("CONCAT(first_name,' ',last_name) AS full_name"),'id')
        ->pluck('full_name', 'id');

答案 2 :(得分:0)

<强>解

问题是别名字段名称“ full_name ”中的下划线字符。

此代码可以正常工作:

App\Driver::selectRaw("CONCAT(first_name,' ',last_name) as fullname ,id")->pluck("fullname", "id")

谢谢大家。