BloodRequestというモデルがあります。このモデルで新しいレコードが作成されると、そのレコードのステータスは「アクティブ」と定義されます。さて、Yii 1.1のコントローラを作成しようとしていますが、これは2か月より古い「required_on」に保存された日付をチェックします。 2か月以上経過している場合、ステータスは「非アクティブ」に更新されます。2つの日付を比較する方法とYiiのモデルデータを更新する方法
問題:コントローラを作成し、ステータスを更新します。しかし、2ヶ月以上経過したレコードを更新するのではなく、すべてのステータスを非アクティブに更新します。私はどこに問題があるのか見つけようとしていたが、できなかった。私が見るようにすべてが大丈夫です。コントローラのアクションのコードは以下のとおりである:考慮すべき
public function actionRequest() {
//save all the record in an array
$model = BloodRequest::model()->findAll();
foreach ($model as $key) {
$id = $key['id'];
$date = date("YYYY-MM-DD", strtotime($key['required_on']));
//check the date and update status
if (strtotime('-60 days') > strtotime($date)) {
$found = BloodRequest::model()->findByPk($id);
$found->status = "active";
if($found->validate())
{
$found->save();
}
}
}
$this->render('request');
}
}
がある場合、基本的には、日付が2か月以上経過するとステータスが「アクティブ」に変更されます。したがって、あなたのデータベース内のすべてのステータスが非アクティブであり、条件が決して満たされない場合、日付が2か月以上経過していない可能性があります。 –