数据库表有两个字段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”字段。 怎么解决?
答案 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")
谢谢大家。