Intereting Posts
Какие проверки следует использовать для предотвращения прямого доступа к страницам (с использованием PHP)? 2 проверка даты ввода php с условием Получить ориентацию изображения в PHP htaccess запрос пересылки, если внутренний ip Возможно ли использовать последний метод статического класса? Поместите содержимое файла в массив с разделителем и сохраните его в базе данных (php) Могу ли я индексировать массив javascript для соответствия набору результатов php-переменных Как я могу предотвратить загрузку страницы, если нет javascript, но с использованием php вместо <noscript>? Написание изогнутого текста на дуге (PHP) Проверка подлинности Laravel для всех страниц Отображение / скрытие следующего div при наведении указателя на предыдущий div PHP SoapClient, создающий XML-ссылки для идентичных элементов, делает его неприемлемым для обслуживания Yii CMultiFileUpload выбрать несколько файлов Я хочу опубликовать переменную php из формы Данные сеанса Codeigniter – это просто файлы cookie?

«Нет отображаемого поля» при использовании частичного запроса и составных клавиш в Doctrine2

У меня есть две модели под названием Person и Tag . Один человек имеет много тегов, а первичный ключ тега представляет собой составной ключ person_id и tag ( Person $person и $tag в Doctrine2).

В модели Tag есть поле данных ( BLOB ) с большим количеством данных. Я настраиваю запрос, который не требует данных из этого поля, поэтому я хочу настроить запрос, который не извлекает это поле.

Я попробовал следующий запрос:

 SELECT c, PARTIAL t.{tag} FROM Contact c LEFT JOIN c.tags 

Здесь я получаю несколько ожидаемую ошибку . Частичный выбор поля класса Tag должен содержать идентификатор . Нет проблем, я добавляю поле контакта:

 SELECT c, PARTIAL t.{contact,tag} FROM Contact c LEFT JOIN c.tags 

Но теперь, я получаю Нет сопоставленного поля с именем «контакт» в теге класса .

Doctrine2 не поддерживает частичные запросы на составные клавиши?

Вот класс Tag:

 /** @Entity @Table(name="tag") **/ class Tag { /** @Id @ManyToOne(targetEntity="Contact",inversedBy="tags") @var Contact **/ protected $contact; /** @Id @Column(type="string",length=10,nullable=false) @var string **/ protected $tag; /** @Column(type="blob") **/ protected $data; } 

Solutions Collecting From Web of "«Нет отображаемого поля» при использовании частичного запроса и составных клавиш в Doctrine2"

Всякий раз, когда вы выполняете частичный отбор, вам нужно включить первичный ключ выбранного класса.

Вы на самом деле не детализировали свой объект «Контакт», но я предполагаю, что поле первичного ключа этого класса «id». Если это так, то следующий запрос будет иметь то, что вам нужно:

 SELECT c, PARTIAL t.{id, tag} FROM Contact c LEFT JOIN c.tags 

Это, похоже, не документировано 🙁

http://docs.doctrine-project.org/en/latest/reference/dql-doctrine-query-language.html#partial-object-syntax