我正在使用symfony 3,我正在尝试createNativeQuery
来检索产品列表(实体)和数量(整数)这里是我的函数:
public function findStockbyStore(Store $store)
{
$rsm = new ResultSetMapping();
$rsm->addEntityResult(Product::class, 'p');
$rsm->addFieldResult('p', 'product_id', 'id');
$rsm->addScalarResult('quantity', 'quantity');
$query = $this->getEntityManager()->createNativeQuery(
"SELECT `product_id`, `quantity` as 'quantity' FROM `stock`",
$rsm
);
//$query->setParameter(1, $store->getId());
return $query->getResult();
}
但是这个查询只返回一个产品数组,如果我去掉$rsm->addFieldResult('p', 'product_id', 'id');
,我得到一个只有数量的数组。
现在,我使用$query->getArrayResult();
,而不是$query->getResult();
,得到一个只包含id和数量的数组。
那么我怎样才能同时得到实体和标量对象呢?
我想你做不到。教义是关于客体的。
要么您处于对象上下文中,在这种情况下,您将在模型中需要一个数量属性(例如),要么您处于非对象上下文中。