我正在使用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->getResult();
而不是$query->getArrayResult();
我得到一个只包含id和数量的数组。
那么如何同时获得实体和标量对象?
答案 0 :(得分:0)
我认为你不能。学说都是关于对象的。
您处于对象上下文中,在这种情况下,您需要在模型中使用数量属性(例如),或者您处于非对象上下文中,在这种情况下您拥有数组。