Вы должны получить текущую дату, используя синтаксис PHP, а не now()
, а также обновить только одну запись.Проверьте ниже код:
$resulting = $query->result_array();
$currentDateTime = date('Y-m-d H:i:s');
foreach($resulting as $resultings){
$date = $resultings['eventDate'];
$this->db->where('activityId', $resultings['activityId']);
if (strtotime($currentDateTime) == strtotime($date)) {
$this->db->update('activity', array('eventStatus' => 1));
} else if (strtotime($currentDateTime) < strtotime($date)) {
$this->db->update('activity', array('eventStatus' => 3));
} else if (strtotime($currentDateTime) > strtotime($date)) {
$this->db->update('activity', array('eventStatus' => 1));
}
}
Надеюсь, это поможет вам.