如何从编辑页面 laravel 的下拉列表中获取保存的值?

EmployeeController在函数里面edit,我有这段代码


public function edit($id)

{

        $employees = Employee::find($id);

        $departmentlists = Department::pluck('id', 'name');

        return view('employees.edit', compact('employees', 'departmentlists'));

}

在里面edit.blade.php显示dropdown我有这个代码


{!! Form::open(['action' => ['EmployeeController@update', $employees->id],  'method' => 'POST', 'autocomplete' => 'off', 'class' => 'form-horizontal', 'enctype' => 'application/x-www-form-urlencoded']) !!}

                    <div class="card">

                        <div class="card-header card-header-primary">

                            <h4 {{ Form::label('', 'Change Employee Data', ['class' => 'card-title']) }}

                            </h4>

                            <p class="card-category"></p>

                        </div>

                        <div class="card-body">

                            <div class="row">

                                <div class="col-md-12 text-right">

                                    <a href="{{ route('employees.index') }}" class="btn btn-sm btn-primary" style="font-size:12px">

                                        <i class="material-icons">keyboard_backspace</i>

                                        {{ __('kembali') }}

                                    </a>

                                </div>

                            </div>

                            <div class="row">

                                {{ Form::label('Name', '', ['class' => 'col-sm-2 col-form-label']) }}

                                <div class="form-group col-sm-7">

                                    {{Form::text('name', $employees->name, ['class' => 'form-control', 'placeholder' => 'Name', 'required'])}}

                                    <p style="color: red;">@error('name') {{ $message }} @enderror</p>

                                </div>

                            </div>



这是员工表 ,这是部门表


现在,目标是我希望编辑页面上的下拉列表显示员工所属的部门名称,而下拉列表仍然包含所有部门名称。所以我可以改变它,但是当我运行这段代码时它给了我这个错误。



炎炎设计
浏览 114回答 1
1回答

潇潇雨雨

$departmentlists = Department::pluck('id', 'name');稍后你使用@foreach($departmentlists as $dl)和$dl->id$dl不是一个对象,它是一个数组,因为函数pluck()。更准确地说,它看起来像这样&nbsp; [&nbsp; &nbsp; "abc" => 1&nbsp; &nbsp; "xyz" => 2&nbsp; &nbsp; "foo" => 3&nbsp; ]注意:要亲自查看,请尝试使用dd($departmentlists)或dump($departmentlists)请参阅Laravel Eloquent Pluck在这种情况下,您可能希望使用它Department::select(['id', 'name'])->get(),因为它将返回具有指定属性的对象集合。
打开App,查看更多内容
随时随地看视频慕课网APP