ActiveRecord инсерт в таблицу с тригером

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Закрыто
Jormungan
Сообщения: 6
Зарегистрирован: 2019.01.19, 12:46

ActiveRecord инсерт в таблицу с тригером

Сообщение Jormungan »

Все привет.

Столкнулся с проблемой при сохранение новой записи, база MS SQL

Код: Выделить всё

$comment = new Comment();
$comment->comment = 'something';
$comment->save();
Собственно результат выполнения false, а запись сохраняется.
Начала копать, проблема оказалась в том, что на таблицу навешен триггер и при сохранение есть 2 результата выполнения:
- 0 rows affected (результат триггера)
- 1 row affected (результат инсерта)

В \yii\db\Command::execute после выполнения запроса берется кол-во строк

Код: Выделить всё

$n = $this->pdoStatement->rowCount();
В итоге $n = 0, в следствии чего \yii\db\Schema::insert возвращает false

Что с этим можно сделать?
Аватара пользователя
Alexum
Сообщения: 683
Зарегистрирован: 2016.09.26, 10:00

Re: ActiveRecord инсерт в таблицу с тригером

Сообщение Alexum »

Попробуйте в триггере явно указать SET NOCOUNT ON.
Jormungan
Сообщения: 6
Зарегистрирован: 2019.01.19, 12:46

Re: ActiveRecord инсерт в таблицу с тригером

Сообщение Jormungan »

Работает, спасибо огромное
Закрыто