У меня две модели; Пользователь и лотерея. У меня также есть соединительная таблица только с id
, user_id
и raffle_id
.
Затем я получаю Raffles из модели User следующим образом:
public function getRaffles()
{
return $this->hasMany(Raffle::class, ['id' => 'raffle_id'])
->viaTable('raffle_user', ['user_id' => 'id']);
}
И из модели Raffles, например:
public function getUsers()
{
return $this->hasMany(User::class, ['id' => 'user_id'])
->viaTable('raffle_user', ['raffle_id' => 'id']);
}
Это работает, и я могу успешно позвонить $user->link('raffles', $raffle);
et c.
Однако, когда я пытаюсь отсоединить запись вроде $user->unlink('raffles', $raffle);
Я получаю сообщение об ошибке:
SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'raffle_id' cannot be null
Я что-то делаю неправильно или что-то неправильно настроено?