- Код: Выделить всё
- public function beforeDelete(){
 $sql = 'DELETE FROM {{apartment_reference}} WHERE apartment_id="'.$this->id.'"';
 Yii::app()->db->createCommand($sql)->execute();
 $sql = 'DELETE FROM {{apartment_comments}} WHERE apartment_id="'.$this->id.'"';
 Yii::app()->db->createCommand($sql)->execute();
 $dir = Yii::getPathOfAlias('webroot.uploads.apartments') . '/'.$this->id;
 rrmdir($dir);
 $sql = 'DELETE FROM {{galleries}} WHERE pid="'.$this->id.'"';
 Yii::app()->db->createCommand($sql)->execute();
 
 $sql = 'DELETE FROM {{apartment_complain}} WHERE apartment_id="'.$this->id.'"';
 Yii::app()->db->createCommand($sql)->execute();
 
 if (issetModule('comparisonList')) {
 $sql = 'DELETE FROM {{comparison_list}} WHERE apartment_id="'.$this->id.'"';
 Yii::app()->db->createCommand($sql)->execute();
 }
Подскажите пожалуйста возможно ли оптимизировать эти запросы в БД одним SELECT-ом? Можно ли сделать один SELECT по нескольким таблицам apartment_reference, apartment_comments, apartment_complain и др., затем получив данные, используя if-ы делать запросы DELETE FROM , только при наличии записи в таблицах? Если это возможно подскажите пожалуйста, как правильно сделать запрос SELECT?




