- Код: Выделить всё
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?