Самый чистый способ поместить условие в CodeIgniter ActiveRecord - PullRequest
0 голосов
/ 12 ноября 2018

Мне нужно поместить условие в CodeIgniter ActiveRecord, вот мой код:

public function getData($numb, $period, $status){
    $this->db->select("COUNT(*) AS jml")
             ->from()
             ->where_not_in();
             if($status !== 'all'){
                $this->db->where("LAYANAN.TGL_LAYANAN BETWEEN DATEADD(" . $period ."," . $numb .", GETDATE()) AND GETDATE()");
             }
             $this->db->where_in()
             ->group_by("");
    return $query = $this->db->get();
}

Мне также нужно поместить переменные $period и $numb в оператор where. Это работает, но мне не очень нравится, как выглядит мой код. Это выглядит так грязно. Ребята, можете ли вы дать мне решение для создания более чистого кода? Спасибо

Ответы [ 2 ]

0 голосов
/ 12 ноября 2018

Используйте двойные кавычки для всей строки и одинарные кавычки вокруг аргументов до DATEADD

$this->db->where("LAYANAN.TGL_LAYANAN 
                  BETWEEN DATEADD(`$period`,`$numb`, GETDATE()) AND GETDATE()");
0 голосов
/ 12 ноября 2018
public function getData($numb, $period, $status){
$this->db->select("COUNT(*) AS jml")
         ->from()
         ->where_not_in()
         ->where_in()
         ->group_by("");
if($status !== 'all'){
    $this->db->where("LAYANAN.TGL_LAYANAN BETWEEN DATEADD(" . $period ."," . $numb .", GETDATE()) AND GETDATE()");
}
return $query = $this->db->get();

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...