doctrine как получить database switch a datetime

#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 (не проверялось).