„Brak mapowanego pola” podczas używania częściowego zapytania i kluczy złożonych w Doctrine2
Mam dwa modele o nazwiePerson
iTag
. Jedna osoba ma wiele znaczników, a klucz podstawowy znacznika jest kluczem złożonymperson_id
itag
(Person $person
i$tag
w Doctrine2).
Jest pole danych (BLOB
) wTag
model z dużą ilością danych. Konfiguruję zapytanie, które nie wymaga danych z tego pola, więc chcę skonfigurować zapytanie, które nie pobiera tego pola.
Próbowałem z następującym zapytaniem:
SELECT c, PARTIAL t.{tag} FROM Contact c LEFT JOIN c.tags
Tutaj dostaję nieco oczekiwany błądCzęściowy wybór pola Tag klasy musi zawierać identyfikator. Nie ma problemu, dodam pole kontaktu:
SELECT c, PARTIAL t.{contact,tag} FROM Contact c LEFT JOIN c.tags
Ale teraz rozumiemNie ma odwzorowanego pola o nazwie „kontakt” na tagu klasy.
Czy Doctrine2 nie obsługuje częściowych zapytań na klawiszach kompozytowych?
Oto klasa 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;
}