2013-09-24 67 views
0

即時通訊使用的教義笨,這是我的BD:如何從教條中的日期時間寄存器中獲取日期?

id fecha_publicacion 
1 2013-03-23 14:52:06 
2 2013-03-23 18:02:06 
3 2013-03-23 00:00:00 
.. ... 

什麼我想要做的,是從某一特定日期或特定日期範圍

的事情是,與搜索這些出版物,如果我想選擇所有這些字段與日期2013-03-23我的查詢只返回3erd字段(這是時間00:00:00)

我怎麼能得到我想要的?我已經嘗試了很多東西,但沒有成功

public function postsByDates($tipo,$fecha1,$fecha2=''){ 
    if($fecha2 == ''){ 
     $fecha2 = $fecha1; 
    } 

    $this->qb = $this->em->createQueryBuilder(); 
    $this->qb->select('p') 
    ->from('models\Post', 'p') 
    ->where(
     $this->qb->expr()->eq('p.tipo', '?1'), 
     $this->qb->expr()->between('p.fecha_publicacion', '?2', '?3') 
      ) 
    ->setParameter(1, $tipo) 
    ->setParameter(2, "$fecha1%") 
    ->setParameter(3, "$fecha2%"); 

    $query = $this->qb->getQuery(); 
    $obj = $query->getResult(); 

    return $obj; 
} 

回答

0

問題是你提供的日期/時間戳比較的日期。所以我猜測它會將您提供的日期(2013-03-23)轉換爲時間戳(2013-3-23 00:00:00)。

快速修正:您可以擁有兩個日期,例如「2013-03-23 00:00:00」和「2013-03-23 23:59:59」。

好的解決方案:您的DQL本地查詢調用MySQL的​​函數將您的時間戳字段(fecha_publicacion)轉換爲日期。之後,您將能夠使用between功能。

相關問題