我有两项服务:ProfileService
知道如何操作Profile
模型(雄辩的雄辩者)和ListService
知道如何操纵List
模型。 Profile
与List
具有一对多关系。在那些雄辩的模型中定义了关系。
我的问题是关注点分离。我打算让ProfileService
仅对Profile
做事,而ListService
仅对List
做事。
在遵守以下要求的同时,我需要做哪种设计模式或构造?
destroyProfile
对象上使用一种Profile
方法,该方法可以删除Profile
,并使其相关的List
也被删除。我想我需要ProfileService
可以用来删除两个模型的第三项服务。
答案 0 :(得分:2)
为什么不让数据库处理删除?
Schema::table('lists', function (Blueprint $table) {
$table->unsignedInteger('profile_id');
$table->foreign('profile_id')
->references('id')
->on('profiles')
->onDelete('cascade');
});