ShelestovAnt
@ShelestovAnt
Верстаю и программирую

Как настроить отношение с дополнительным полем в povit таблице?

Всем привет!

Может кто подсказать как правильно настроить отношение в pivot таблице по доп полю?

pivot таблица:
99f0b96d36.png
колонка department_id это доп. поле
class EduSpeciality extends Model
{
    //
    public function profiles()
    {
        return $this->belongsToMany(Profile::class)
            ->withPivot('department_id');
    }
}

dd($this->eduSpeciality->profiles->toArray());


Этот код выводит результат:
84ae76e858.png

Вот собственно вопрос как настроить отношение с полем department_id?
Чтобы потом в идеале получать информацию примерно таким способом:
$this->eduSpeciality->profiles->first()->pivot->department->name
  • Вопрос задан
  • 201 просмотр
Пригласить эксперта
Ответы на вопрос 1
@procode
Разработчик
ваша ситуация по идее решается вот таким путем:

https://laravel.ru/docs/v5/eloquent-relationships#hmt

но насколько я понимаю, pivot-таблица должна иметь два внешних ключа

то есть если у вас их три - тогда нужно делать две промежуточные таблицы

ну, это если по уму )))

З.Ы. То есть withPivot() насколько я понимаю, служит для манипуляций со служебными полями, типа updated_at, а не для создания pivot-таблицы с множеством внешних ключей.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы