Вот чего я хочу достичь: у нас есть персонал, и у каждого персонала может быть одна должность для отдела, а также одно назначение для отдела и несколько дополнительных Плата для нескольких отделов, один отдел на Дополнительная плата . И я хочу сохранить все обязанности в таблице staff_responsibilities
У меня есть таблица staff
со следующими столбцами
Тогда у меня есть staff_responsibilities
таблица со следующими столбцами:
- staff_id
- designation_id
- Department_id
- liability_type_id
Типы ответственности могут быть Position
и Additional Charge
, и один сотрудник может иметь несколько назначений с Additional Charge
ответственностью.
Тогда у меня есть responsibility_types
таблица со следующими столбцами:
// I have no way to tell this relationship to look for a responsibility type 2 (2 is the id of the responsibility called `Designation`)
public function designation()
{
return $this->hasOne(StaffResponsibility::class);
}
// I have no way to tell this relationship to look for a responsibility type 2
public function position()
{
return $this->hasOne(StaffResponsibility::class);
}
// Gives error: Syntax error or access violation: 1066 Not unique table/alias: 'staff_responsibilities'
public function additionalCharges()
{
return $this->belongsToMany(StaffResponsibility::class, 'staff_responsibilities','designation_id');
}
Любая помощь будет по достоинству оценена.
таблица штатных сотрудников
таблица типов ответственности
таблица обозначений