Я занимаюсь разработкой веб-приложения с Laravel-5.8
.
У меня есть 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');
}
}
Контроллер
public function index()
{
$employees = Employee::all();
return view('employees.index')->with('employees', $employees);
}
public function create()
{
$supervisors = Employee::all();
return view('employees.create')->with('supervisors', $supervisors);
}
public function store(StoreEmployeeRequest $request)
{
try {
$designation = Employee::create([
'employee_code' => $request->employee_code,
'supervisor_id' => $request->supervisor_id,
'first_name' => $request->first_name,
'last_name' => $request->last_name,
]);
Session::flash('success', 'Employee is created successfully');
return redirect()->route('employees.index');
} catch (Exception $exception) {
Session::flash('danger', 'Employee creation failed!');
return redirect()->route('employees.index');
}
}
create.blade
<div class="form-group">
<label>Employee Code<span style="color:red;">*</span></label>
<input type="text" name="employee_code" placeholder="Enter employee code here" class="form-control" value="{{old('employee_code')}}">
</div>
<select class="form-control select2bs4" data-placeholder="Choose Supervisor" tabindex="1" name="grade_level_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>
Каждый employee
имеет его или supervisor
. Супервизор выводится из таблицы сотрудников - supervisor_id
. Когда выбран раскрывающийся список супервизора, он загружает employee_code
, а затем сохраняет данные сотрудника в базе данных.
Я пробовал коды выше, но в выпадающем списке ничего нет. Как мне переписать мой контроллер, вид и модель для достижения этой цели?