1アイデアは日から抽出することである形式でのDateTimeに日付を比較することができます。そして
$qb->select('p')
->where('YEAR(p.postDate) = :year')
->andWhere('MONTH(p.postDate) = :month')
->andWhere('DAY(p.postDate) = :day');
$qb->setParameter('year', $year)
->setParameter('month', $month)
->setParameter('day', $day);
MONTHのDAY、およびYEARあなたは
例えばからDoctrineExtensionsを取ります
DoctrineExtensions
これは私のために動作します。
$datetime = new \DateTime("now");
$month = $datetime->format('m');
echo $month;
コピーday.php、month.php年:あなたは月の例を取得
..... day.php、month.phpとyear.php:あなただけのファイルが必要です。あなたのバンドルXY \ TestBundle \ DQL にPHPが
doctrine:
orm:
auto_generate_proxy_classes: %kernel.debug%
entity_managers:
default:
auto_mapping: true
dql:
datetime_functions:
month: Xy\TestBundle\Dql\Month
year: Xy\TestBundle\Dql\Year
day: Xy\TestBundle\Dql\Day
これは動作しますが、少し汚れています。 QueryBuilderのDATE()関数がこのバンドルで提供されているかどうか知っていますか? – gperriard
@jooyceありません。 [Here](https://github.com/simukti/DoctrineExtensions/tree/master/lib/DoctrineExtensions/Query/Mysql)は利用可能な拡張機能のリストです –
これはまだMySQLとOracleのためにのみ有効ですか? –