使用除法构建的查询
Query builded with division
我需要每 48 小时从日期时间字段发送一封电子邮件。
我的 sql 查询是:
select * from leads where datediff(NOW(),`level7_email_sent`)%2 = 0
如何使用 CakePHP 查询生成器来实现?我的问题是分裂。
我所做的是:
$leads = $this->Leads->find();
//->contain([])
$leads->where(function (QueryExpression $exp, Query $q) {
$datediff = $q->func()->dateDiff([
'NOW()' => 'literal',
'level7_email_sent' => 'identifier'
]);
return $exp->eq('engagement_level',7)->eq($datediff,7);
});
我不知道怎么除法,谢谢
我使用 HAVING
解决了
$leads = $this->Leads->find();
//->contain([])
$datediff = $leads->func()->dateDiff([
'NOW()' => 'literal',
'level8_email_sent' => 'identifier'
]);
$leads->select(['dateDiff'=>$datediff])
->enableAutoFields(true)
->where(['engagement_level'=>7])
->having(['MOD(`dateDiff`,2)'=>0]);
我需要每 48 小时从日期时间字段发送一封电子邮件。 我的 sql 查询是:
select * from leads where datediff(NOW(),`level7_email_sent`)%2 = 0
如何使用 CakePHP 查询生成器来实现?我的问题是分裂。
我所做的是:
$leads = $this->Leads->find();
//->contain([])
$leads->where(function (QueryExpression $exp, Query $q) {
$datediff = $q->func()->dateDiff([
'NOW()' => 'literal',
'level7_email_sent' => 'identifier'
]);
return $exp->eq('engagement_level',7)->eq($datediff,7);
});
我不知道怎么除法,谢谢
我使用 HAVING
解决了 $leads = $this->Leads->find();
//->contain([])
$datediff = $leads->func()->dateDiff([
'NOW()' => 'literal',
'level8_email_sent' => 'identifier'
]);
$leads->select(['dateDiff'=>$datediff])
->enableAutoFields(true)
->where(['engagement_level'=>7])
->having(['MOD(`dateDiff`,2)'=>0]);