众所周知,如果一个数据库行被另一个引用,它不能被删除,除非一个引用被首先删除。
我已经使用 Yii 一段时间了,我有一个问题,这是我的场景:
假设您已经加载了两种类型的对象:
$object1 = Model1::model()->findByPk($pk);
$object2 = Model2::model()->findByPk($pk);
现在每个$object1 都有引用 $object2 的外键,我们都知道如果 $object1 还没有被删除,那么 $object2 就不能被删除,因为 fk 关系。Yii 中是否有一种方法/函数可以检查是否还有其他对象仍被$object2引用?
喜欢:
if(//$object2 has no longer any other objects referring to it){
$object2->delete();
//do something here
}
我知道这可以通过确保首先删除 $object1 来完成。但是不管 object1 是否被删除,是否有一个函数可以做这个检查?任何想法或一段代码都会有所帮助!