因此,我在写出了我的项目的不同版本中的此查询。无法在Laravel中复制DATE_FORMAT查询
$result = $db->select("SELECT `nID`, `txNome`, `txEmail`
FROM `".$this->tablename."`
WHERE `at_state` != 'invalid'
AND `dtCreated` < :weekAgo
AND DATE_FORMAT(dtCreated, '%w') = DATE_FORMAT(NOW(), '%w')
AND `remarketing_amigos_sent` = '1'
AND `amigo` IS NULL
AND `txEmail` NOT IN (
SELECT `email`
FROM `utils`.`unsubscribe`
WHERE `email` = `".$this->tablename."`.`txEmail`
AND (`idCampaign` = :campaign OR `idCampaign` = '*')
);
", array(
'campaign' => CoreHelper::getCampaignID(),
'weekAgo' => $aWeekAgo
));
和我想要将其转换为Laravel的查询生成器,我可以整件事转换除外DATE_FORMAT有点...我不知道如何将其转换成侃侃而谈。
应用程序应该每周发送一次电子邮件给人员列表,这就是为什么DATE_FORMAT在那里与平日相匹配的原因。 如何将其转换为查询生成器?
我当前的代码看起来像这样
$this->lead->where('at_state', '!=', 'invalid')
->where('dtCreated', '<', $aWeekAgo)
->where(???)
->where('remarketing_amigos_sent', '1')
->whereNull('amigo')
->whereNotIn('txEmail', function($q) {
$q->select('email')->from('utils.unsubscribe')->where('idCampaign', CoreHelper::getCampaignID());
})->get();
注意$这个 - >引线部分,故意不同,因为它指的是我的口才型号,而原来的版本是使用DB完成立面。
你能告诉你已经开始做的代码吗? –
@RossWilson我用新的查询编辑了原文。 –