Поле даты Доктрины - как написать запрос

используя Symfony2 и Doctrine.

У меня есть поле даты, вот оно:

/**
  * @ORM\Column(type="date")
  */
 protected $date;

В своей форме я использую текстовое поле, чтобы избежать выбора даты по умолчанию в Chrome, но я вставляю объекты DateTime в базу данных:

if ($request->isMethod('POST')) {
        $form->bind($request);

        //Convert string date to DateTime object and send it to database as object
        $dateObj = \DateTime::createfromformat('d-m-Y', $expense->getDate());
        $expense->setDate($dateObj);
        // ...

и тогда я хочу найти все предметы с определенной датой:

public function findExpensesForDate($user, $date)
{
    $q = $this
        ->createQueryBuilder('e')
        ->where('e.date = :date')
        ->andWhere('e.user = :user')
        ->setParameter('date', $date)
        ->setParameter('user', $user)
         ->getQuery();

    return $q->getResult();
}

и назовите это так:

$expenses_for_today = $this->repository->findExpensesForDate($this->user, $today);

который ничего не возвращает когда

$today = new /DateTime();

и возвращает результаты, когда

$today_obj = new /DateTime();
$today = $today_obj->format('Y-m-d'); 

Так почему, когда я даю дату в качестве объекта, это нет работаешь? Isn»t причина использования поданной даты состоит в том, чтобы воспользоваться запросами с объектами DateTime? Я предполагаю, что я'Мне не хватает чего-то тривиального и важного, но я просто могуне вижу что или яЯ не очень хорошо понимаю ситуацию. Мое понимание таково: поле имеет тип date, поэтому я должен вставить в него объекты DateTime, а при запросе я должен также указывать объекты DateTime. Можете ли вы помочь мне исправить это?

П.С .: Я пытался изменить поле на datetime:

 /**
  * @ORM\Column(type="datetime")
  */
 protected $date;

но не было никаких изменений.

И вообще это нормально и хорошо, чтобы запросить строку? Получу ли я преимущество от использования объектов при выполнении запросов таким образом?

Ответы на вопрос(2)

Ваш ответ на вопрос