Связь с условием в laravel - PullRequest
0 голосов
/ 17 января 2020

В моем приложении 3 типа авторов. В таблице автора сообщения, хранящегося в столбце post_author, например "AuthorType_id", где AuthorType может быть пользователем, группой или системой.

Вопрос: могу ли я создать условное отношение?

Что это значит? .

Relation author () проверяет значение и возвращает связанную модель. Данные в столбцах хранятся как «user_123», «system_123», «group_123», где user, system или group - AuthorType, а 123 - идентификатор записи в связанной таблице.

Я действительно запутался в этом случае. Я использую laravel 6.

Пример:

public function author() {
  $type = explode("_", $this->post_author);
  switch($type[0]) {
    case "user":
      return $this->hasOne('App\User', 'id', $type[1]);
    case "group":
      return $this->hasOne('App\UserGroup', 'id', $type[1]);
    default:
      return $this->hasOne('App\BluePoster', 'id', $type[1]);
  }
}
...