【问题标题】:doctrine2 dql query by property of serialized object within entity通过实体内序列化对象的属性进行doctrine2 dql查询
【发布时间】:2010-09-30 20:18:11
【问题描述】:

我有一个带有“对象”类型列的实体。我希望能够通过该对象的属性(例如 id)来检索实体。例如,查询看起来像这样something

$em->createQuery('SELECT e FROM Entity_Class e SOME_MAGIC e.object o WHERE o.id = ?1');

问题是,dql 中有 *SOME_MAGIC* 吗?

【问题讨论】:

    标签: object serialization dql doctrine-orm


    【解决方案1】:

    这是不可能使用 serialize() 将对象类型列序列化为 CLOB 字段的。没有办法查询它的子属性。

    【讨论】:

      【解决方案2】:

      一种可能但不是最佳的解决方案是使用类似的 expr:

       $qb->add($qb->expr()->like("e.column", $qb->expr()->literal("%text_to_search%")));
      

      因为在某些 RDBMS 中的原则 2 中,对象以长文本类型持久化,而不是 CLOB 或 BLOB。

      【讨论】:

        猜你喜欢
        • 2011-11-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-02-18
        • 2013-02-12
        • 1970-01-01
        相关资源
        最近更新 更多