PHP   发布时间:2022-04-09  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了php – 在Doctrine2中使用部分查询和复合键时,“无映射字段”大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有两个名为Person和Tag的模型.一个人有很多标签,标签主键是person_id和标签的复合键(Person $person和Doctrine2中的$tag).

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

但是现在,我得到了类Tag上没有名为“contact”的映射字段.

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;
}
每当执行部分选择时,您需要包含要从中选择的类的主键.

您实际上没有详细说明您的“联系”实体,但我假设该类的主键字段是“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

大佬总结

以上是大佬教程为你收集整理的php – 在Doctrine2中使用部分查询和复合键时,“无映射字段”全部内容,希望文章能够帮你解决php – 在Doctrine2中使用部分查询和复合键时,“无映射字段”所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。