Doctrine 2.0 结果集映射使用不正确?
Posted
技术标签:
【中文标题】Doctrine 2.0 结果集映射使用不正确?【英文标题】:Doctrine 2.0 Resultset Mapping is used incorrectly? 【发布时间】:2012-08-12 17:30:55 【问题描述】:我在尝试执行本机查询时遇到了 Doctrine 的 ResultSetMapping 问题。
$sql = "SELECT id, thesis "
. "FROM activity p "
. "WHERE MATCH (thesis) AGAINST ('Gun') ";
$rsm = new \Doctrine\ORM\Query\ResultSetMapping;
$rsm->addEntityResult('activity\models\Entities\Opinion', 'p');
$rsm->addFieldResult('p', 'id', 'id');
$rsm->addFieldResult('p', 'thesis', 'thesis');
$query = $this->_em->createNativeQuery($sql, $rsm);
$results = $query->getResult();
return $results;
我知道 sql 端正在寻找东西,因为首先,数据库中的条目中有世界“枪”,如果我将其更改为不是的东西,它会给我一个错误在数据库中。
剩下的是结果集映射代码。它没有产生任何错误,但 getResult() 返回的数组是空白的。这让我怀疑我的映射不正确。
你们对我可以做些什么来进一步确定问题所在有什么建议吗?
【问题讨论】:
【参考方案1】:事实证明,如果查询少于 4 个字母,则 MATCH AGAINST 不起作用。问题毕竟是 sql :(
结果集映射工作正常。
【讨论】:
以上是关于Doctrine 2.0 结果集映射使用不正确?的主要内容,如果未能解决你的问题,请参考以下文章