Doctrine orm 条令$query->;expr()->;带setParameter的lt
是否可以将“setParameter”与“$query->expr()->lt”一起使用?我的查询的本质是比较两个datetime类型的列 这很有效Doctrine orm 条令$query->;expr()->;带setParameter的lt,doctrine-orm,query-builder,Doctrine Orm,Query Builder,是否可以将“setParameter”与“$query->expr()->lt”一起使用?我的查询的本质是比较两个datetime类型的列 这很有效 $query ->orWhere( $query->expr() ->lt('p.dateExportedToTranslation', 'p.dateUpdated') ); 需要做什么调整才能使其工作 $query ->orWhere( $
$query
->orWhere(
$query->expr()
->lt('p.dateExportedToTranslation', 'p.dateUpdated')
);
需要做什么调整才能使其工作
$query
->orWhere(
$query->expr()
->lt('p.dateExportedToTranslation', ':dateUpdated')
)
->setParameter('dateUpdated', 'p.dateUpdated');
这就是全部问题
$query = $this->entityManager
->createQueryBuilder()
->from('AMDatabase\Entity\TheVerse\PrayersForToday', 'p')
->select(
'p.reference, p.languageIso, p.title, p.prayer,
p.rssSentence, p.keywords, p.scriptureReferences,
p.availableResourceWebsites, p.contributedByMembershipReference'
)
->orderBy('p.reference', 'ASC')
->setMaxResults('25');
$query
->orWhere(
$query->expr()
->eq('p.dateExportedToTranslation', ':date')
)
->setParameter('date', '0000-00-00 00:00:00');
$query
->orWhere(
$query->expr()
->lt('p.dateExportedToTranslation', ':dateUpdated')
)
->setParameter('dateUpdated', 'p.dateUpdated');
p.updated
是通过参数发送的列而不是字符串。如果要比较两列(相同或不同的表),则需要比较第一列(标题为“This works”)。只有在发送日期值时,才需要使用以下选项:
$query
->orWhere(
$query->expr()
->eq('p.dateExportedToTranslation', ':date')
)
->setParameter('date', '0000-00-00 00:00:00');
让我们知道什么不起作用。不起作用的是使用“setParameter”绑定另一个表列以进行日期比较(在我的示例中使用“lt”)在我的初始帖子标题下“需要什么调整才能起作用”是我尝试过的。