Невозможно удалить строку в codeigniter - PullRequest
0 голосов
/ 24 сентября 2018

Я хочу, чтобы дата timing в CodeIgniter была меньше текущей даты, тогда строка должна быть автоматически удалена.У меня есть таблица с именем doctor.Поля id(int), crated_at(timestamp) timings(varchar), name(varchar).

Я использую, чтобы вставить время в формате mm/dd/yyyy.Я хочу, чтобы когда дата была меньше текущей даты, тогда следует удалить строку auto.

MODEL

public function delete_book(){
    $date  = date("m/d/Y");
    $this->db->where("timings < (".$date." - INTERVAL 1 DAY)");
    $this->db->delete("doctors");

}

Пожалуйста, дайте мне знать о неисправности моегокод

Ответы [ 4 ]

0 голосов
/ 26 сентября 2018

Будет работать, может использовать

$this->db->where('timings BETWEEN NOW() - INTERVAL 1 DAY AND NOW()', "", false);
$this->db->delete("doctors");

Надеюсь, что полностью работает.

0 голосов
/ 24 сентября 2018

Используйте это

$this->db->where("timings < DATE_SUB(curdate(), INTERVAL 1 DAY)",NULL,FALSE);
$this->db->delete("doctors");
0 голосов
/ 24 сентября 2018

Вы должны использовать NOW() функцию MySql.NOW() возвращает дату системы, а также она совместима с запросом MySql.

public function delete_book(){
    //$date  = date("m/d/Y");
    $this->db->where("timings < (NOW() - INTERVAL 1 DAY)");
    $this->db->delete("doctors");

}
0 голосов
/ 24 сентября 2018

Вы можете использовать DATE_SUB function

public function delete_book(){
    $this->db->where("timings < DATE_SUB(curdate(), INTERVAL 1 DAY)");
    $this->db->delete("doctors");

}

. Вышеупомянутый запрос: -

DELETE FROM `doctors` WHERE `timings` < DATE_SUB(curdate(), INTERVAL 1 DAY)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...