天天看點

php自定義字段計算公式,php – Doctrine添加計算字段

現在我有一個與Address實體有1:1關系的Profile實體

如果我建立以下簡單查詢

$this->qb = $this->_em->createQueryBuilder()

->select('e')

->from($this->_entityName, 'e')

;

它傳回一些這樣的資料:

firstname: Test

lastname: Bla

gender: male

dateOfBirth: '1972-03-14'

address:

city: Brussel

country: BE

這正是我想要的,但現在我想添加一個年齡字段.

當我這樣做時它會起作用:

$this->qb = $this->_em->createQueryBuilder()

->select('e','YEAR(CURRENT_DATE()) - YEAR(e.dateOfBirth) AS age')

->from($this->_entityName, 'e')

;

但結果最終是:

0:

firstname: Test

lastname: Bla

gender: male

dateOfBirth: '1972-03-14'

address:

city: Brussel

country: BE

age: '42'

是以,它将年齡放在不同的結果中,并将實體中的所有資料放在0鍵中.

現在我怎樣才能使它成為實體資料的一部分?

這就是我希望它:

firstname: Test

lastname: Bla

gender: male

dateOfBirth: '1972-03-14'

age: 36

address:

city: Brussel

country: BE

而且結果目前是這樣的,因為JMSSerializer,實體中有更多的字段沒有被序列化但是它們仍然是從資料庫中取出的……

有什麼辦法可以讓教條隻檢索所需的字段,同時保持相同的結果?