1
我正在用php 5.6构建一个zend framework 2应用程序我使用的是doctrine2作为数据库相关代码。 我为数据库中的每个表创建了Yaml文件。如何从createNativeQuery中获取结果?
我想调用一个查询并返回它的结果。
我用下面的代码:
$query=<<<EOS
QUERY...
EOS;
$objectManager=$this->getObjectManager();
$rsm = new ResultSetMapping();
$rsm->addEntityResult('MyAlcoholist\Entity\DrinkFlavorInfo','u');
$rsm->addFieldResult('u','drink_type_name','drinkTypeName');
$rsm->addFieldResult('u','drink_brand_name','drinkBrandName');
$rsm->addFieldResult('u','drimk_company_name','drinkCompanyName');
$rsm->addFieldResult('u','drink_flavor_type_name','drinkFlavorTypeName');
$query = $objectManager->createNativeQuery($query,$rsm);
$query->setParameter(1, $id);
$drinkFlavors = $query->getResult();
die(var_export($drinkFlavors,1));
我创建了一个名为DrinkFlavorInfo与getter和setter变量类,但因为我配置主义与YAML来工作,那么它的搜索YAML文件来代替。在yaml配置 其中一个属性是table_name,并没有表,我只是试图创建一个类,将保存返回的值。我怎么能这样做?
这是非常有帮助,谢谢!它看起来在本机查询中甚至有“as Name”,甚至在结果中也包含单个标量列 - 但我们无论如何都必须定义映射。 – Arkemlar