Как получить неотображенный столбец в результате нативного запроса Doctrine

Как я могу получить не сопоставленный столбец в результате собственного запроса?

Мой запрос:

$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. Можно ли добавить этот столбец в объект только для этого запроса?

3

Решение

Если вы хотите показать счет внутри шаблона 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 }}

Где объект — это ваша музыкальная сущность.

Дополнительную информацию о чистых и смешанных результатах можно найти Вот.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]