2017-09-27 1 views
1

특정 날짜의 데이터를 다른 날짜로 가져오고 싶습니다. 문제는 데이터베이스의 날짜가 YYYY-mm-dd hh : mm 인 형식으로되어 있다는 것입니다. 사용하는 날짜는 YYYY-mm-dd입니다. 심포니 교리와 함께 글로브하기

나는이 시도 :

$leds = $em->createQueryBuilder() 
    ->select('l') 
    ->from('AppBundle:Lead', 'l') 
    ->where('l.created_at BETWEEN ":endDate*" AND ":startDate*"') 
    ->setParameter('endDate', $endDate) 
    ->setParameter('startDate', $startDate) 
    ->getQuery()->getResult(); 

최종 SQL 요청이 시도

SELECT * FROM bar_contacts WHERE created_at BETWEEN "2015-11-30*" AND "2017-09-20*"; 

답변

0

입니다이

$leds = $em->createQueryBuilder() 
->select('l') 
->from('AppBundle:Lead', 'l') 
->where('l.created_at BETWEEN ":endDate*" AND ":startDate*"') 
->setParameter('endDate', $endDate." 23:59") 
->setParameter('startDate', $startDate." 00:00") 
->getQuery()->getResult(); 
+0

내가했던 아주 동일하지만,'라인의 사실 -> 여기서 ('l.created_at BETWEEN ": endDate *"AND ": startDate *"')', 별표는 오류입니다. 덩어리가 없습니다. –

+0

아이디어는 별을 사용하지 않는 것입니다. 그리고 created_at이 실제 날짜/시간 필드라면 DATE (l.created_at)를 사용하고 데이터베이스가이를 처리하도록합니다. Doctrine 확장을 추가하여 DATE를 처리해야합니다. – Cerad