У меня есть модель 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
]