我有两个模型叫做Person
and Tag
。一个人有许多标签,标签主键是person_id
和tag
(Person $person
和$tag
在Doctrine2中)的组合键。
模型中有一个数据字段 ( BLOB
),Tag
其中包含大量数据。我正在设置一个不需要该字段数据的查询,因此我想设置一个不检索该字段的查询。
我尝试了以下查询:
SELECT c, PARTIAL t.{tag} FROM Contact c LEFT JOIN c.tags
在这里,我得到了一些预期的错误The partial field selection of class Tag must contain the identifier。没问题,我添加联系人字段:
SELECT c, PARTIAL t.{contact,tag} FROM Contact c LEFT JOIN c.tags
但是现在,我在类 Tag 上没有名为 'contact' 的映射字段。
Doctrine2 不支持对复合键的部分查询吗?
这是标签类:
/** @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;
}