Я был вынужден использовать PostgreSQL. Я прочитал что-то об этом, но все же это новое, и я понятия не имею, почему я получаю эту ошибку:Идентификатор столбца Doctrine не существует на PostgreSQL
SQLSTATE[42703]: Undefined column: 7 ERROR: column t0.id does not exist LINE 1: SELECT t0.id AS id1, t0.user AS user2, t0.email AS ma...
Я проверил, что столбец ID существует тысячи раз (почти буквально).
Я спросил своего друга, и он сказал мне, что в PostgreSQL нет автоматического приращения, и мне нужно использовать последовательности. Я обнаружил, что Doctrine автоматически генерирует последовательности, когда я установил @GeneratedValue
в auto (по умолчанию). И да, эти последовательности есть.
Вот моя сущность:
<?php
/**
* @ORM\Entity
*/
class User
{
/**
* @ORM\Id
* @ORM\Column(name="id", type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/** @ORM\Column(type="string", nullable=true) */
protected $name;
// some more properties similar to $name
В другой вопрос (PostgreSQL column 'foo' does not exist) они хотели видеть выход \d table
. Вот он:
northys=# \d user
Table "public.user"
Column | Type | Modifiers
----------+------------------------+---------------------------------
id | integer | not null
name | character varying(255) | default NULL::character varying
email | character varying(255) | not null
password | character varying(255) | not null
Indexes:
"user_pkey" PRIMARY KEY, btree (id)
"uniq_8d93d649e7927c74" UNIQUE, btree (email)
Referenced by:
TABLE "child" CONSTRAINT "fk_22b3542941807e1d" FOREIGN KEY (teacher_id) REFERENCES "user"(id)
TABLE "event" CONSTRAINT "fk_3bae0aa7a76ed395" FOREIGN KEY (user_id) REFERENCES "user"(id)
У меня PostgreSQL 9.4.1 и I`m не используя каких-либо конкретных плагинов базы данных для научения. У вас есть идеи, почему это не должно работать? Я застрял и пытался найти решение в течение нескольких дней.
Я попытаюсь установить имя таблицы для сущности и пометьте ваш ответ как правильный, если это поможет. Спасибо. – Northys
Спасибо, миллион раз, он работает сейчас. – Northys