У меня есть нормальное расширение extbase.Extbase добавить расчетное поле в запрос/репозиторий
В контроллере я получаю все мои записи:
$stuff = $this->jobRepository->findAll();
$this->view->assign('stuff', $stuff);
и в шаблоне я их отображения:
<f:for each="{stuffs}" as="stuff">
{stuff.title} <br />
{stuff.category}
</f:for>
Теперь мне нужно новое поле stuff.isnew
со значением 1
, если запись новейшие по категориям.
SQL-, Заявление о том, что будет выглядеть следующим образом:
SELECT j2.isnew, j.* FROM `tx_stuff_domain_model_stuff` as j
left join
(SELECT max(crdate) as crdate, category, 1 as isnew FROM `tx_stuff_domain_model_stuff` group by category) as j2
on j.crdate=j2.crdate and j.category=j2.category
(Если я должен написать свой собственный запрос я должен проверить удален, скрытые, время_запуска, время окончания, чтобы проверить, если запись активна правая сейчас)
Мой вопрос сейчас в том, что является самым чистым/лучшим способом добавить это к моему расширению?
Я сделал это с обычаем запрос прямо сейчас. Я не узнаю, как добавить самосозданное поле (isnew). Может быть, мне нужно добавить его в модель с геттером и сеттером? - В любом случае это не имеет значения, потому что мне нужно это поле только для начальной сортировки, поэтому мне не нужно значение в интерфейсе, так как я могу заказать SQL-заявление с полем isnew. – nbar