0
我正在嘗試使用教義查詢生成器進行算術運算,並將結果分配給別名。 以下是geeksengine一個例子,我想「轉換」教義的QueryBuilder: 學說QueryBuilder算術運算
/*
Query 1: This query calculates the total price before discount and after discount for each order item.
*/
SELECT order_id,
product_id,
unit_price * quantity AS "regular_price",
FROM order_details;
這是我開始:
$queryBuilder = $this->em->createQueryBuilder();
$queryBuilder->select('o')
->addSelect('o.unit_price * o.quantity AS regular_price')
->from('Test\Model\Entity\OrderEntity', 'o');
但是,這將引發異常:
RuntimeException
Not all identifier properties can be found in the ResultSetMapping: id
我想,這是因爲regular_price
不是數據庫的一部分 - 所以它c沒有被映射。
我可以用純DQL完成它,但由於某些原因,我必須堅持使用QueryBuilder。
任何想法?
謝謝您的回答,但我仍然得到同樣的異常 – Lowtower
莫非來自另一部分你的代碼?在這一部分我沒有看到任何與'id'有關的東西... – Veve
這是我第一次想到的。但是,如果我跳過addSelect()的行,一切正常。 – Lowtower