diff --git a/beike/Admin/Repositories/AttributeGroupRepo.php b/beike/Admin/Repositories/AttributeGroupRepo.php index 512f0a7d..dbd60554 100644 --- a/beike/Admin/Repositories/AttributeGroupRepo.php +++ b/beike/Admin/Repositories/AttributeGroupRepo.php @@ -69,6 +69,10 @@ class AttributeGroupRepo public static function delete($id) { $group = AttributeGroup::query()->findOrFail($id); + if ($group->attributes->count()) { + throw New \Exception(trans('admin/attribute_groups.error_cannot_delete_attribute_used', ['attributes' => implode(', ', $group->attributes->pluck('id')->toArray())])); + } + $group->descriptions()->delete(); $group->delete(); } } diff --git a/beike/Admin/Repositories/AttributeRepo.php b/beike/Admin/Repositories/AttributeRepo.php index 34e85260..1c361aa9 100644 --- a/beike/Admin/Repositories/AttributeRepo.php +++ b/beike/Admin/Repositories/AttributeRepo.php @@ -108,6 +108,7 @@ class AttributeRepo public static function delete($id) { $attribute = Attribute::query()->findOrFail($id); + $attribute->descriptions()->delete(); $attribute->values()->delete(); $attribute->delete(); } diff --git a/resources/lang/en/admin/attribute_groups.php b/resources/lang/en/admin/attribute_groups.php index c831aa76..d3a87b87 100644 --- a/resources/lang/en/admin/attribute_groups.php +++ b/resources/lang/en/admin/attribute_groups.php @@ -12,4 +12,5 @@ return [ 'index' => 'Attribute group', 'create_at_groups' => 'Create attribute group', + 'error_cannot_delete_attribute_used' => 'Attribute Group used by attribute (ID: attributes), can not be deleted!' ]; diff --git a/resources/lang/zh_cn/admin/attribute_groups.php b/resources/lang/zh_cn/admin/attribute_groups.php index 69d3a434..f6538670 100644 --- a/resources/lang/zh_cn/admin/attribute_groups.php +++ b/resources/lang/zh_cn/admin/attribute_groups.php @@ -12,4 +12,5 @@ return [ 'index' => '属性组', 'create_at_groups' => '创建属性组', + 'error_cannot_delete_attribute_used' => '属性组不能删除,由于该属性组被属性(属性ID: :attributes)使用' ];