Страница 1 из 1

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

Добавлено: 2019.10.23, 14:23
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

Что с этим можно сделать?

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

Добавлено: 2019.10.23, 15:19
Alexum
Попробуйте в триггере явно указать SET NOCOUNT ON.

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

Добавлено: 2019.10.23, 15:25
Jormungan
Работает, спасибо огромное