いくつかの便利なMySQL関数を実装しているDoctrineExtensionsモジュールを見つけました。しかし、私の問題は一般的なものだと思います。別のmysql式をパラメーターとして関数にどのように渡しますか?
aとanの2つの列updated_at
があり、エンティティの有効期限が切れているかどうかを照会したい場合は、これを行うことができます。DATETIME
lifespan
INT
WHERE 0 > TIMESTAMPDIFF(SECONDS, NOW(), e.updated_at + INTERVAL e.lifespan SECOND)
QueryBuilderでは、次のようになります。
$qb->andWhere('0 > TIMESTAMPDIFF(SECONDS, CURRENT_TIMESTAMP(), e.updated_at + INTERVAL e.lifespan SECOND)');
+ INTERVAL e.lifespan SECOND
しかし、パーサーは、プラス記号の代わりにかっこを閉じることを期待しているため、これを好みません。