Немного не пойму как удалить hasMany связь. У меня есть таблица branch и room. То есть один филиал имеет несколько комнат. Пробовал в документации найти но пока что ничего толком не нашел если только foreach не перебирать все и удалять записи
Вот что за ошибка выходит
"SQLSTATE[23503]: Foreign key violation: 7 ОШИБКА: UPDATE или DELETE в таблице "branch" нарушает ограничение внешнего ключа "room_branch_id_foreign" таблицы "room"
DETAIL: На ключ (id)=(4) всё ещё есть ссылки в таблице "room". (SQL: delete from "branch" where "id" = 4)"
В контроллере
public function destroy($id)
{
return Branch::destroy($id);
}
В моделе
class Branch extends Model
{
protected $table = 'branch';
protected $dateFormat = 'U';
protected $fillable = ['name', 'city', 'street', 'build', 'appartament', 'phone', 'user_id'];
public function rooms()
{
return $this->hasMany('Growth\Room');
}
}
Есть конечно вот такой пример сделать
public function destroy($id)
{
$branch = Branch::find($id)->rooms();
$branch->delete();
return Branch::destroy($id);
}
Или я неправильно понимаю в удаление связанных таблицах?