Можно ли создать вычисляемое поле в запросе доктрины, который затем можно получить как атрибут объекта? - PullRequest
1 голос
/ 03 апреля 2012

Предположим, вы объявляете простую таблицу "лицензий" в схеме доктрины, состоящую, скажем, из 3 полей, name, licenseNumber, expirationDate.

Вы можете создать простой запрос для создания экземпляра коллекции объектов лицензии. Но что, если вы хотите добавить к нему «виртуальное» поле, например, select *, (now() > expirationDate) as expired from license (в DQL я здесь использую SQL как сокращенное обозначение).

Есть ли способ получить учение о том, чтобы вычисляемое поле с истекшим сроком могло быть извлечено как атрибут объекта? Это простой пример, иллюстрирующий эту мысль, но он может быть весьма полезен для более сложных вычисляемых запросов, иначе я что-то неправильно понимаю.

Ответы [ 2 ]

0 голосов
/ 16 октября 2013

Вы также можете использовать вид с таким столбцом и отобразить на нем свою модель вместо таблицы БД

0 голосов
/ 03 апреля 2012

Нет, нет способа сделать то, что вы просите, без добавления пользовательского метода для гидратации "виртуального столбца". Взгляните на этот SO post , так как он дает отличный пример того, как гидрировать массивы с помощью вашей «виртуальной колонки».

Вы также можете добавить «виртуальный столбец» в качестве объекта-члена к соответствующему классу и гидрировать его, как показано на этом примере .

...