Какое отношение использовать в Laravel? - PullRequest
0 голосов
/ 03 ноября 2018

Какое отношение использовать в Laravel для привязки двух таблиц к третьим?

Когда Doctor с может быть назначено некоторым Center с. Промежуточная таблица будет такой:

doctor_id | center_id

Как создать модель в Laravel для этого случая?

Ответы [ 2 ]

0 голосов
/ 03 ноября 2018

Вы можете использовать hasMany или относится к отношениям Laravel. См. Документацию laravel , для получения дополнительной информации

0 голосов
/ 03 ноября 2018

Вам не нужна модель для промежуточной таблицы, просто используйте attach

Пример:

$center = Center::create();
$doctor = Doctor::find(1);
$doctor->centers()->attach($doctor->id);

Это очень простой пример, но он должен дать вам представление о том, как к нему подойти.

Все это, конечно, требует, чтобы вы установили модель своего Центра и Доктора с правильными отношениями "многие ко многим"

Doctor.php модель:

public function centers()
{
    return $this->belongsToMany(Doctor::class);
}

См. Документацию , для получения дополнительной информации.

Очевидно, что вы можете создать модель с именем DoctorsCenter и создать ее вручную, выполняя это всякий раз, когда вы хотите присоединить отношение.

DoctorsCenter::create(['center_id' => $center->id, 'doctor_id' => $doctor->id]);

Я не вижу веских причин для этого и не рекомендовал бы это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...