来自连接表的Doctrine 2 QueryBuilder SQL MIN作为子查询

时间:2016-11-12 21:56:43

标签: join doctrine-orm field aggregate query-builder

我有一个带租金的数据库表和一张价格表(一对多)。我试图从RentalPrice表中获取所有提取行的最低价格,并将值保存在我的租赁实体中。

但是我每次都会遇到语法错误(错误:预期的Doctrine \ ORM \ Query \ Lexer :: T_FROM,得到'.'n2 :)。我做错了什么?

结果集映射有问题吗? addSelect应该更明确吗?

$qb->select('Rental',  'RentalPrices')
   ->from('Rental\Entity\Rental', 'Rental')    
   ->leftJoin('Rental.prices', 'RentalPrices')
   ->addSelect('MIN(RentalPrices.priceperweek) AS Rental.minprice');

我的“Rental”实体有一列我可以保护数据。

/**
 * @var integer
 * @ORM\Column(type="integer")
 */
protected $minprice = null;

更新

$qb->select('Rental',  'RentalPrices')
   ->from('Rental\Entity\Rental', 'Rental')    
   ->leftJoin('Rental.prices', 'RentalPrices')
   ->addSelect('MIN(RentalPrices.priceperweek) AS minprice');

但现在的结果是:

Object
minprice

所以现在我的问题是如何进行水合作用或制图?我想在我的实体Rental.minprice中使用minprice的价值。

0 个答案:

没有答案