产品和类别之间存在多对多关系。
1) 如果一个产品被删除,它与数据透视表的关系也会被删除。我想从数据库中删除产品,以防它和任何其他类别无关。
2) 如果某个类别被删除,其相关产品也将被删除。但不属于任何其他类别的人。我该如何做到这一点。
您想要使用detach()
:
$user->roles()->detach([1, 2, 3]);
和on delete cascade
:
$table->foreign('user_id')
->references('id')->on('users')
->onDelete('cascade');
对于第二个需求,您可以将ON DELETE CASCADE
设置为您的子(产品)表,因此如果您从Categories表中删除任何类别,则相关产品将从products表中删除。