Например, у нас есть таблица p_categories и таблица продуктов.Таблица
p_categories:
╔═══╦════════════╦═════════════╗
║ ║ id ║ name ║
╠═══╬════════════╬═════════════╣
║ 1 ║ 1 ║ tech ║
║ 2 ║ 2 ║ food ║
║ 3 ║ 3 ║ sport ║
╚═══╩════════════╩═════════════╝
Таблица продуктов:
╔════╦═══════════════╦═════╗
║ id ║p_categories_id║name ║
╠════╬═══════════════╬═════╣
║ 1 ║ 1 ║phone║
╠════╬═══════════════╬═════╣
║ 2 ║ 2 ║spoon║
╠════╬═══════════════╬═════╣
║ 3 ║ 2 ║fork ║
╚════╩═══════════════╩═════╝
В модели pcategory у меня есть:
public function products()
{
return $this->hasMany(Product::class, 'p_categories_id');
}
ВМодель продукта:
public function category()
{
return $this->belongsTo(PCategory::class,'p_categories_id', 'id');
}
Когда я пытаюсь удалить техническую категорию, в строке product table
id=1, p_categories_id=1, name=phone
необходимо удалить то же самое время.
вероятно, решения, которые я подумал:
1) изменение типов столбцов на каскадные.Я прочитал несколько постов.Люди в основном не рекомендуют это.
2) в модель категории добавляется новая функция
protected static function boot() {
parent::boot();
static::deleting(//something, i don't know how to make.); }
Мне нужно изменить весь проект с помощью этого метода.Потому что нет ни одного.Я ищу лучший способ сделать это.Я написал 2, вероятно, решения, но я до сих пор не знаю, как их правильно сделать.Я надеюсь, что смогу объяснить, заранее спасибо