原则 2.0 结果集映射使用不正确


Doctrine 2.0 Resultset Mapping is used incorrectly?

我在尝试进行本机查询时遇到了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() 返回的数组为空。这让我怀疑我做错了映射。

你们对我可以做些什么来进一步确定问题是什么有什么建议吗?

事实证明,问题是如果查询少于 4 个字母,则 MATCH AGAINST 不起作用。 问题毕竟是SQL:(

结果集映射运行良好。