Выберите дату больше, чем сегодня, используя NotORM

У меня есть очень простой запрос (или я так думал) с использованием NotORM:

$query = $db-> irregular
    ->select('id','name','starttime','endtime')
    ->where('customer_id',$_SESSION['user']['customer_id'])
    ->where("startdate > ? ", new NotORM_Literal("NOW()")) );

"?" не заменяется в приведенном выше примере. Запрос только читает

SELECT id, name, starttime, endtime FROM irregular WHERE (customer_id = '1') AND (startdate > ? )

Как это должно работать в NotORM?

2 ответа

Присвойте значение now() переменной и используйте его в предложении where

$now =new NotORM_Literal("NOW()");

$query = $db-> irregular()
->select('id','name','starttime','endtime')
->where('customer_id',$_SESSION['user']['customer_id'])
->where("startdate > $now")->fetch();

или же

$query = $db-> irregular(array('customer_id'=>$_SESSION['user']['customer_id']))
->select('id','name','starttime','endtime')
->where("startdate > $now")->fetch();

Используйте что-то вроде этого:

        $jobs = $this->db->jobs->where(array("deleted" => 1,  "id" => $id))
        ->select('id', 'startDate')
        ->where('startDate < ?',$maxStartDate)
        ->where('startDate > ?',$minStartDate)
        ->order("id desc");

Другие вопросы по тегам