В PHP / CodeIgniter более одной транзакции началось без завершения другой; Например, вложенная транзакция - PullRequest
0 голосов
/ 28 августа 2018

Я использую HMVC в Codeigniter
Которые имеют модель inv_module, а одна - обычная модель

Во-первых, $this->inv_module->model сохраняет некоторые данные в базе данных с транзакцией mysql;
затем модальный вызов $this->common->modal до завершения транзакции $this->inv_module->model, также есть транзакция mysql.

Может ли кто-нибудь сказать мне, что произойдет, когда моя первая транзакция не будет завершена и транзакция общей модели будет запущена?

моя ситуация такая -

$this->db->trans_start();
$this->db->insert('tbl_categories', $category_array);

    $this->db->trans_start();
        $this->CI->db->insert('tbl_macro',$macro_array);
    $this->db->trans_complete();

$this->db->trans_complete();

Этот код вызова от другой модели -

$this->db->trans_start();
    $this->CI->db->insert('tbl_macro',$macro_array);
$this->db->trans_complete();

Пожалуйста, помогите мне

1 Ответ

0 голосов
/ 28 августа 2018

Вложенная транзакция будет зафиксирована или завершится с ошибкой только для себя.

«Внешняя» транзакция по-прежнему будет действительной.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...