Мой запрос на update
устанавливает правильное значение, но возвращает следующую ошибку в Yii2:
Ошибка: SQLSTATE[HY000]: General error
Обновить запрос:
$query =Yii::$app->db
->createCommand('
UPDATE fc_dore_reg
INNER JOIN fc_dore ON fc_dore.id = fc_dore_reg.dore_id SET fc_dore_reg.pay_all = 1
WHERE fc_dore_reg.user_id = "'.$user_id.'"
')->queryAll();
Почему эта ошибка возникает, когда fc_dore_reg.pay_all = 1
установлен правильно?
Вы должны использовать execute()
Yii::$app->db
->createCommand('
UPDATE fc_dore_reg
INNER JOIN fc_dore ON fc_dore.id = fc_dore_reg.dore_id
SET fc_dore_reg.pay_all = 1
WHERE fc_dore_reg.user_id = "'.$user_id.'"')
->execute();
Помните, что queryAll() Выполняет инструкцию SQL и возвращает ВСЕ строки сразу, но в обновлении нет строк.
where
условие и не работает там.