首页 > 解决方案 > 如何将 Sql 转换为 Dql?

问题描述

我在 SQL 数据库中有两列,分别是“start_date”和“elapsed_Date”。我需要根据当前日期时间检查这两列。我已成功对数据库运行以下 SQL 查询,但我需要将 SQL 查询转换为 DQL

SELECT*
FROM [DB_Name]
WHERE [start_date] < 'current_date' 
   AND 'current_date' < elapsed_date

我试图在下面运行它,但它没有给我想要的结果:

    $query = $qb->select( 'ad' )
                ->where( $qb->expr()->eq( 'ad.status', ':status' ) )
                ->andWhere( $qb->expr()->lte( 'ad.start_date', ':sdate' ) )
                ->AndWhere( $qb->expr()->gte( ':edate', 'ad.elapsed_date' ) )
                ->setParameters( [
                    'status' => true,
                    'sdate'  => $qdate,
                    'edate'  => $qdate
                ] )->getQuery();

标签: phpsqldoctrine-orm

解决方案


推荐阅读