megakor
@megakor
Go/PHP developer | ВКонтакте

Как сделать правильно полиморфные связи и отношения?

Есть 3 модели: Document, Status, ApprovalAttempt.

documents
    id - integer
    name - string

statuses
    id - integer
    approval_attempt_id - integer (foreign key)

approval_attempts
    id - integer
    approvable_type - string
    approvable_id - integer


В approval_attempts я использую поля для создания полиморфной связи Laravel.

Как сделать так, чтобы в модели Document можно было вызвать свойство ->statuses и получить все статусы документа (ID документа в approval_attempts, ID ApprovalAttempt в таблице statuses).

Типа такого:
public function statuses()
{
    return $this->approvalAttempts()->statuses();
}

Но это слишком наверное сахарно и не работает. Как быть?
  • Вопрос задан
  • 101 просмотр
Пригласить эксперта
Ответы на вопрос 1
Посмотрите в сторону hasMany и belongsTo. Ну и документацию в целом https://laravel.com/docs/7.x/eloquent-relationships
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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