Одно из отличиев версий 1.2 и 1.3 в том что в 1.3 из ядра был убран бехавер с транзакциями. Теперь необходимо для использования транзакций сначала получить из модели источник данных (DataSource), а затем через него открывать транзакцию. Поскольку при переносе одного из проектов на версию 1.3 мне необходимо было бы отыскивать во всему прикладу эти вызовы (а они использовались часто), то я решил реализовать этот бехавер для 1.3.
//app/models/behaviors/transaction.php class TransactionBehavior extends ModelBehavior { var $settings = array(); var $ds = null; var $model = null; function setup(&$model, $config = array()) { $this->settings = $config; if(!$this->ds) { $this->ds = $model->getDataSource(); $this->model = $model; } } function begin() { return $this->ds->begin($this->model); } function commit() { return $this->ds->commit($this->model); } function rollback() { return $this->ds->rollback($this->model); } }После добавления этого бехавера, транзакции можно использовать так же как и в версии 1.2.
Автор: Сергей Степанов
Поделиться @
Пока нет коментариев. Будьте первым!