Прикрепление полиморфных отношений «многие ко многим» - PullRequest
0 голосов
/ 02 апреля 2019

У меня есть модель Match и модель MatchCompetitor.Модель MatchCompetitor - это связанная модель для таблицы match_competitors с полями match_id, Competitor_type, Competitor_id и Side_number.Для модели Match у меня определены следующие отношения.Однако, когда я пытаюсь спасти конкурентов, это не сохраняет match_id.

public function competitors()
{
    return $this->morphToMany(MatchCompetitor::class, 'competitor', 'match_competitors', null, 'competitor_id');
}

Чтобы сохранить отношения, я попытался это сделать.

$matchObject->competitors()->attach($player1, ['side_number' => $sideNumber]);

Я получаю ужасНе выполнено ограничение Null, но оно должно применять match_id через отношение.

Для сохраняемого SQL-кода он отображается как таковой, что является неправильным, потому что это должно быть App \ Models \ Player и должно быть в состоянии заполнитьmatch_id для этой таблицы.

#sql: "insert into "match_competitors" ("competitor_id", "competitor_type", "side_number") values (?, ?, ?)"
      #bindings: array:3 [
        0 => 1
        1 => "App\Models\Match"
        2 => 0
      ]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...