#symfony #datetime #doctrine
#symfony #дата и время #doctrine
Вопрос:
Я не могу найти ответ в документации. Я использую symfony для приложения, у меня есть база данных с датой и временем для каждой моей таблицы, и я хотел бы получить только строку с самой последней датой и временем. есть ли функция, подобная $repository->findOneById($id)
для получения этого объекта?
Ответ №1:
Вот решение с использованием QueryBuilder:
$repository = $this->getDoctrine()
->getRepository('AcmeStoreBundle:Product');
$query = $repository->createQueryBuilder('p')
->orderBy('p.datetime', 'DESC')
->setMaxResults(1)
->getQuery();
$product = $query->getResult();
С уважением.
Комментарии:
1. Надеюсь, я все понял правильно, поскольку название вашего вопроса заставляет меня сомневаться в отношении остальной части вашего сообщения.
2. Это была и моя интерпретация. Я думаю, что ваш ответ точен.
3. Я еще не тестировал это, но это кажется хорошим решением, я просто подумал, что это возможно без QueryBuilder, но спасибо.
4. Может быть, немного более сексуально без querybuilder: $repository-> findBy(array(), array(‘datetime’ => ‘desc’),1,0); где datetime — это имя вашего атрибута datetime (не проверялось).