Laravel - Как создать иерархический выпадающий список для редактирования блейда вида - PullRequest
0 голосов
/ 31 января 2020

Я занимаюсь разработкой веб-приложения с Laravel -5.8.

Я создал 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 блэйд вида для выпадающего списка супервизора, как я делал для создания блэйда вида?

Спасибо.

1 Ответ

0 голосов
/ 31 января 2020

ваша функция редактирования в контроллере

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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...