symfony得到标量结果和实体结果



我正在使用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和数量的数组。

那么我怎样才能同时得到实体和标量对象呢?

我想你做不到。教义是关于客体的。

要么您处于对象上下文中,在这种情况下,您将在模型中需要一个数量属性(例如),要么您处于非对象上下文中。

相关内容

  • 没有找到相关文章

最新更新