如何在doctrine 2中的对象属性上创建查询构建器

时间:2014-03-24 21:21:27

标签: php orm doctrine-orm dql query-builder

可以为列类型=>创建查询对于教义2的对象?

域名问题:

  • 查询构建器
  • DQL

实施例

/**
 *
 * Capacity Object Details
 * wgross = weight of item, wnet = neto weight
 * 
 * @ORM\Column(type="object")
 */
private $capacity;

当:

$capacity = array('wgross' => 19, 'wnet' => 9);

伪可能的查询在哪里:

$em->createQuery('SELECT i FROM Entity\Item i WHERE i.capacity.wnet < 18');

Doctrine序列化对象类型,我在网上搜索可能的解决方案:

  • Doctrine Query Builder Expr
  • 正则表达式

RDMS上的列类型是longtext而不是clob或blob,其值类似于此。

O:8:"stdClass":5:{s:4:"wgross";s:0:"19";s:6:"wnet";s:0:"9";}

但没有找到。

1 个答案:

答案 0 :(得分:2)

找到一个可能的解决方案,但不是最好的解决方案是使用类似的expr:

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

在Doctrine Criteria的记忆中工作。