こんにちはdoctrine2 ifnullにありますか?私は使用する必要があります...どのように?
SELECT *
FROM `apns_task_message`
ORDER BY IFNULL( `sent_at` , NOW( ) ) , `priority` DESC , `position` ASC
このSQLをドクトリンに変換する方法は?
$qb = $this->getRepository()->createQueryBuilder('tm');
$qb->leftJoin('tm.apnsTask', 't');
$qb->add('where', 't.id = :task_id')->setParameter('task_id', $task_id);
//$qb->add('orderBy', 'IFNULL(tm.sent_at, NOW()), tm.priority DESC, tm.position ASC');
$qb->add('orderBy', 'd_date, tm.priority DESC, tm.position ASC');
$q = $qb->getQuery();
return $q->getResult();
見つかった!!!「合体」オペレーターの@AdrienBraultに感謝します
$now = new \DateTime("now");
$qb = $this->getRepository()->createQueryBuilder('tm');
$qb->addSelect('coalesce (tm.sentAt, :sent_date) as sent_date')->setParameter('sent_date', $now->format("Y-m-d H:i:s"));
$qb->leftJoin('tm.apnsTask', 't');
$qb->add('where', 't.id = :task_id')->setParameter('task_id', $task_id);
$qb->add('orderBy', 'sent_date ASC, tm.priority DESC, tm.position ASC');
$q = $qb->getQuery();