首页 > 解决方案 > 如何从 createNativeQuery 获取 Doctrine ArrayCollection

问题描述

试图从 createNativeQuery 获取教义 ArrayCollection 但是返回 null 并且找不到我在这里做错了什么。一切似乎都是根据文档完成的,但它似乎对我不起作用。下面的代码:

$rsm = new ResultSetMapping();
$rsm->addEntityResult(CurrencyExchangeRate::class, 'u');

$rsm->addFieldResult('u', 'rate', 'rate');
$rsm->addJoinedEntityResult(Currency::class, 'a', 'u', 'currency');
$rsm->addFieldResult('a', 'currency_id', 'id');
$rsm->addFieldResult('a', 'name', 'name');
$rsm->addFieldResult('a', 'code', 'code');
$rsm->addFieldResult('a', 'symbol', 'symbol');

$query = $this->em->createNativeQuery('SELECT u.rate,a.id as currency_id, a.name,a.code,a.symbol
                                    FROM currency_exchange_rates_new u
                                    INNER JOIN currencies_new a on u.currency_id = a.id
                                    WHERE u.update_time=(SELECT MAX(update_time) FROM currency_exchange_rates_new u2 WHERE u2.currency_id=u.currency_id)
                                    GROUP BY u.currency_id',$rsm);

$currency_exchange_rates = $query->getResult();
foreach ($currency_exchange_rates as $currency_exchange_rate) {
    error_log(var_export($currency_exchange_rate,true)."\n",0);
}

错误日志输出

无效的

无效的

无效的

无效的

谁能告诉我我在这里想念什么?

标签: jquerydoctrinenative

解决方案


推荐阅读