【发布时间】:2016-05-02 12:05:34
【问题描述】:
如何在本地查询的结果中获取非映射列?
我的查询:
$query = $this->getEntityManager()->createNativeQuery(
"SELECT m.id, m.title, MATCH(m.title) AGAINST('$slug') AS score "
. "FROM music AS m "
. "ORDER BY score DESC LIMIT 100", $rsm);
score 列未映射到实体中,我无法从 Twig 访问其值。是否可以将此列添加到仅为该查询的实体中?
【问题讨论】:
-
你试过了吗?它有效吗?你有错误吗?错误是什么?
-
查询没有出错,但是当我尝试在 Twig 中显示分数时,我得到了这个: 对象 "PlayerBundle\Entity\Music" 的方法 "score" 在 src\PlayerBundle\Resources\views 中不存在\Default\search.html.twig 在第 12 行,因为分数未映射到实体类中
-
我认为您应该确保您的数据库模型和对象模型对应。否则一切都会变得非常困难和非常错误......
-
我在“音乐”实体中有字段“率”,我可以覆盖分数中的值,但我需要两个字段。
-
你试过this吗?
标签: php symfony doctrine-orm nativequery doctrine-native-query