You want to remove Type, not SpecificType. You also need to make sure your model is set correctly for Type:
var $hasMany = array( 'SpecificType' => array( 'className' => 'SpecificType', 'foreignKey' => 'type_id', 'dependent'=> true, ) );
Then delete the type and it will work.
If you delete a child ( SpecificType ) and want to remove it as a parent, you must call delete in the parent model. But keep in mind, if you configured Cascade correctly ( dependent = true on the model), all SpecificType children will be deleted anyway.
Note. If you want to remove the parent of a child, you can review your relationships and confirm that they are true. If this is really the way you want, do not delete on the child. Just make sure your cascading relationship is set up correctly, pull out the child parent information and remove the parent. Then all children will be removed.
source share