2016-06-29 11 views
0

sqlクエリのdoctrineに相当するものはありますか?Doctrine querybuilder TO_DAYS

SELECT something FROM tbl_name 
WHERE TO_DAYS(NOW()) - TO_DAYS(date_col) <= 30; 

エンティティは、だから、私はAlokへ

おかげ条件

"nowDate - newStatusData =< 30 days" 

UPDATEですべてのレコードを取得する必要があり、答えは

の下に与えられた

/** 
* @var \DateTime 
* @ORM\Column(type="datetime",nullable=true) 
*/ 
protected $newStatusData; 

を持っています10

答えて

2

DATE_DIFF() DQL機能をお探しですか?指定された日付間の日数の差を計算します。

の2つの引数、つまりを受け入れます。

だからあなたは、現在の日付を返しますこのようなデータ、

<?php 
    $result=$this->getEntityManager() 
      ->createQuery("SELECT EN from Bundle:EntityName WHERE DATE_DIFF(CURRENT_DATE(),EN.newStatusData)>=30") 
      ->getResult(); 
?> 

CURRENT_DATE()を照会することができます。

http://doctrine-orm.readthedocs.io/projects/doctrine-orm/en/latest/reference/dql-doctrine-query-language.html#dql-functions

+0

すっごい、4ヶ月後、私はEntityRepositories(手のひらを顔に当てる)の使用方法を理解 この $ CURRENTDATE =新しい日時(実行したときに私はエラーが発生しています)。 ( 'currentdate'、q.newStatusData)> = 30 ") - > setParameter( 'currentdate'、$ currentDate ) - > getResult(); パラメータが多すぎます:クエリは0パラメータを定義し、バインドしました1 –

+0

更新された回答を 'CURRENT_DATE() 'を使用して確認してください –

+0

thx!できます ! –

関連する問題