2015-12-22 34 views
1

如何編寫查詢發送通知用戶包在Yii後3天過期?如何在三天內發送通知?

例如,帳號已過期25th Dec,然後發送過期的電子郵件26th, 27th and 28th Dec

$expireddate = date('Y-m-d', strtotime('-3 days')); // (Coming from db) 
$model = TblPackageUserplan::model()->findAll('expire_date>=:expire_date', array(':expire_date' => $expireddate)); 

它不能正常工作,因爲它也在20th Dec之前發送郵件。 我想發送郵件,確切地說用戶包3天后過期。如何獲取用戶詳細信息包3天后過期?

回答

1

您只能使用條件。

至於你的問題

在12月25日到期的,然後在26日,27日和12月28日

你需要比較EXPIRE_DATE +3天發送電子郵件過期。

$criteria = new CDbCriteria; 
// With this condition we get only packages on next three days after expire_date. 
$criteria->addCondition('DATEDIFF(CURRENT_DATE(),t.expire_date) BETWEEN 1 AND 3');