Как я могу получить не сопоставленный столбец в результате собственного запроса?
Мой запрос:
$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, вы можете попробовать следующие шаги:
1) Добавьте атрибут $ Score без какой-либо конфигурации сопоставления для вашей музыкальной сущности:
class Music {
//Other mappings
protected $score;
//TODO: add getter/setter for $score
}
2) Добавьте его в свой ResultSetMapper:
$rsm->addRootEntityFromClassMetadata('YourBundle:Music', 'm');
$rsm->addMetaResult('m', 'score', 'score', false, 'integer'); //first 'score' is your DB alias
3) Позвоните в ваш search.html.twig
:
{{ object.score }}
Где объект — это ваша музыкальная сущность.
Дополнительную информацию о чистых и смешанных результатах можно найти Вот.
Других решений пока нет …