Модель Module находится в модуле Core. При использовании её в том же
модуле - всё работает. При вызове из другого, если выше не выполняются
запросы - тоже работает. Но в нижеприведенном коде мне необходимо
обратиться к этой модели после выполнения запроса.
Пробовал менять местами запросы - всё работает, а так - не хочет.
Нашел на форумах что могут помочь следующие строки:
$command->getPdoStatement()->closeCursor();
Yii::app()->db->pdoInstance-
>setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, true);
..но толку от них тоже нет.
public function actionInstall() {
//TODO: check role
ob_start();
require Yii::getPathOfAlias('application.modules.'.$this-
>module->getId().'.data') . '/install.sql';
$sql = ob_get_contents();
@ob_clean();
$command = Yii::app()->db->createCommand($sql);
$command->query();
$command->getPdoStatement()->closeCursor();
Yii::app()->getModule('core');
//Ошибка появляется при этом запросе:
$model = Module::model()->find("name = :name", array(':name'=>
$this->module->getId()));
if($model) {
$model->installed = true;
$model->save();
}
}