kawabanga
@kawabanga

SQLSTATE[42602]: Invalid name: 7 ERROR: invalid name syntax?

Есть стандартный CRUD из GII на модель.

Фреймворк Yii2.
База данных Postgresql.
Работаю с базой через Active Record.

При редактировании модели - все окей.
Но при создании новой при сохранении: получаю ошибку
SQLSTATE[42602]: Invalid name: 7 ERROR: invalid name syntax


Которая ссылается на /vendor/yiisoft/yii2/db/Schema.php:
return $this->db->pdo->lastInsertId($sequenceName === '' ? null : $sequenceName);


Как бы я вижу, что проблема в том, что мы не можем получить lastinsertid из базы, но не ожидал, что проблема будет в Yii2 из коробки.

Вопрос - куда копать? как исправлять?
  • Вопрос задан
  • 778 просмотров
Решения вопроса 1
vakorovin
@vakorovin
Разработчик
Да вроде как нет этой проблемы - в проекте 2 базы данных: mysql + postgresql.
Заглянул в Schema.php:
public function getLastInsertID($sequenceName = '')
    {
        if ($this->db->isActive) {
            return $this->db->pdo->lastInsertId($sequenceName === '' ? null : $this->quoteSimpleTableName($sequenceName));
        } else {
            throw new InvalidCallException('DB Connection is not active.');
        }
    }

синтаксис отличается (оборачивается в одинарные кавычки при необходимости). Возможно у нас с вами различные версии Yii2. Да и ошибка " invalid name syntax" наводит на эту же мысль.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы