Ошибка вставки данных в таблицу с использованием доктрины и mssql - PullRequest
0 голосов
/ 21 ноября 2018

Я пытаюсь вставить данные в созданную базу данных с соответствующей таблицей следующим образом (Symfony4):

    /**
     * @Route("/admin/user/new", name="admin_add_new_user")
     */
    public function new_user(EntityManagerInterface $em)
    {
        $user = new User();
        $user->setUsername('felipito')
            ->setPassword('canelo123')
            ->setEmail('fpcanelo@ati.cu');

        $em->persist($user);
        $em->flush();

        return $this->render('admin/index.html.twig', [
            'controller_name' => 'AdminController',
            'brand' => 'brand',
            'msg' => sprintf(
                'New user dude: id #%d user %s', $user->getId(), $user->getUsername()
            )
        ]);
    }

После открытия URL-адреса выдается следующее:

An exception occurred while executing 'INSERT INTO user (username, roles, password, email) VALUES (?, ?, ?, ?)' with params ["felipito", "[]", "canelo123", "fpcanelo@ati.cu"]:

SQLSTATE [42000, 156]: [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Incorrect syntax near the keyword 'user'.
SQLSTATE [42000, 8180]: [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Statement(s) could not be prepared.

Может быть, проблема связана с этой проблемой, с которой я столкнулся вчера

Ответы [ 2 ]

0 голосов
/ 21 ноября 2018

Как ответил @ rodmar-zavala, проблема в том, что я использовал зарезервированное слово на сервере sql.Это также относится и к этой ошибке, которую я получил, когда выполнял миграцию по доктрине .

Так что я произвел рефакторинг имени класса, и он работал нормально.

0 голосов
/ 21 ноября 2018

похоже, что пользователь является зарезервированным словом в MySQL.Обновите свою сущность пользователя @ORM \ Аннотация таблицы следующим образом.

 use Doctrine\ORM\Mapping as ORM;

 /**
 * @ORM\Entity
 * @ORM\Table(name="`user`")
 */
class User extends BaseUser
{
  // [....]
}

Обратите внимание, что имя таблицы использует одинарные кавычки.

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