首页 > 解决方案 > 如何在下拉列表中多次显示数据。拉拉维尔 6

问题描述

我想构建多个显示在下拉列表中的数据,如下所示

Jhon-23 天

马丁-23 天

玛莎-19 天

所以我像这样在我的控制器上构建

 public function input_cuti()
{
    $users = DB::table('users')->whereIn('roles_id',[1,3])->pluck('name_days','id');


    return view('admin.input.input_cuti',
    [
    'users'=>$users,


    ]);
}

我添加了这样的用户模型

 public function getNameDaysAttribute()
{
    return $this->nama . ' - ' . $this->cuti;
}

这个视图我添加了这个:

           <div class="form-group">
                  <label class="control-label col-md-3 col-sm-3 col-xs-12"> Nama Pegawai <span class="required">*</span></label>
                  <div class="col-md-6 col-sm-9 col-xs-12">
                    <select name="user_id" id="user_id" class="form-control">
                        @foreach($users as $id => $nama )
                        <option value="{{ $id }}">{{ $nama }} </option>
                        @endforeach
                    </select>
                  </div>
                </div>

并出现错误 Column not found: 1054 Unknown column 'name_days' ,,

我如何使用这个getNameDaysAttribute()

标签: laravel

解决方案


改变

$users = DB::table('users')->whereIn('roles_id',[1,3])->pluck('name_days','id');

$users = User::whereIn('roles_id',[1,3]))->pluck('name_days','id');

因为您只能在加载后从集合中提取数据。访问器功能将与模型一起使用。


推荐阅读