【问题标题】:Laravel - How do create Hierarchical dropdownlist for Edit View BladeLaravel - 如何为编辑视图刀片创建分层下拉列表
【发布时间】:2020-01-31 18:08:46
【问题描述】:

我正在使用 Laravel-5.8 开发一个 Web 应用程序。

我已经完成了如下所示的create.blade:

public function create()
{
    $supervisors = Employee::all();
    return view('employees.create')->with('supervisors', $supervisor);
}

<select class="form-control select2bs4" data-placeholder="Choose Supervisor" tabindex="1" name="supervisor_id" style="width: 100%;">>
    <option value="">Select Supervisor</option>
     @if($supervisors->count() > 0)
        @foreach($supervisors as $supervisor)
           <option value="{{$supervisor->id}}">{{$supervisor->employee_code}}</option>
        @endforeach
     @endif
</select>

我有这个 Laravel 模型:

class Employee extends Model
{
    protected $table = 'employees';
    protected $fillable = [
              'employee_code',
              'supervisor_id',
              'first_name',
              'emp_image',
              'last_name',
          ];

    public function supervisor()
    {
        return $this->belongsTo('App\Models\Employee','supervisor_id');
    }
}

edit.blade

<div class="col-12 col-sm-4">
   <div class="form-group">
     <label class="control-label"> Supervisor:</label>
      <select class="form-control select2bs4" data-placeholder="Choose Employee Type" tabindex="1" name="supervisor_id" style="width: 100%;">
       <option value="">Select Supervisor</option>
         @if($supervisors->count() > 0 )
          @foreach($supervisors as $supervisor)
            <option value="{{$supervisor->id}}" @if($supervisor->id == $employee->id) selected @endif>{{$supervisor->employee_code}}</option>
          @endforeach
         @endif
     </select>
   </div>
 </div>

这给我的下拉值与加载的员工相同。

如何像创建视图刀片一样为主管下拉列表编写编辑视图刀片

谢谢。

【问题讨论】:

  • 同理!你遇到了什么错误?
  • 它显示的主管与当前负载员工相同。我已经用 edit.blade 更新了我的代码。
  • 将条件@if($supervisor-&gt;id == $employee-&gt;id)改为@if($supervisor-&gt;id == $employee-&gt;supervisor_id)

标签: laravel


【解决方案1】:

您在控制器中的编辑功能

public function edit($id)
{
    $employee = Employee::findOrFail($id);
    $supervisors = Employee::all();
    return view('employees.edit')->with('supervisors', $supervisor);
}

以及编辑页面的代码

<select class="form-control select2bs4" data-placeholder="Choose Supervisor" tabindex="1" name="supervisor_id" style="width: 100%;">>
    <option value="">Select Supervisor</option>
     @if($supervisors->count() > 0)
        @foreach($supervisors as $supervisor)
           <option value="{{$supervisor->id}}" @if( $employee->supervisor_id == $supervisor->id )
                    selected
                @endif>{{$supervisor->employee_code}}</option>
        @endforeach
     @endif
</select>

【讨论】:

    猜你喜欢
    • 2015-08-28
    • 2013-09-03
    • 1970-01-01
    • 1970-01-01
    • 2017-02-07
    • 1970-01-01
    • 2021-02-02
    • 1970-01-01
    • 2013-06-10
    相关资源
    最近更新 更多