如何在学说 2 中创建对象属性的查询构建器
Posted
技术标签:
【中文标题】如何在学说 2 中创建对象属性的查询构建器【英文标题】:How to create a query builder on object property in doctrine 2 【发布时间】:2014-03-24 21:21:26 【问题描述】:可以在学说 2 上为列类型 => 对象创建查询吗?
领域问题:
查询生成器 DQL例子
/**
*
* Capacity Object Details
* wgross = weight of item, wnet = neto weight
*
* @ORM\Column(type="object")
*/
private $capacity;
时间:
$capacity = array('wgross' => 19, 'wnet' => 9);
使用伪 where 的可能查询:
$em->createQuery('SELECT i FROM Entity\Item i WHERE i.capacity.wnet < 18');
Doctrine 序列化对象类型,我在网上搜索可能的解决方案:
Doctrine 查询生成器表达式 正则表达式RDMS 上的列类型是 longtext,而不是 clob 或 blob,值是这样的。
O:8:"stdClass":5:s:4:"wgross";s:0:"19";s:6:"wnet";s:0:"9";
但什么也没找到。
【问题讨论】:
为什么不将$capacity
字段转换为实体?
因为对象 $capacity 可能会改变或改变属性,仅供参考,不涉及关系。
【参考方案1】:
找到一个可能的解决方案,但不是最佳解决方案是使用类似的 expr:
$qb->add($qb->expr()->like("i.capacity", $qb->expr()->literal("%text_to_search%")));
在使用 Doctrine Criteria 进行记忆工作之后。
【讨论】:
以上是关于如何在学说 2 中创建对象属性的查询构建器的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Microsoft Access 数据库中创建查询对象? [复制]