Конструктор запросов Kohana: и или предложение where

#kohana #builder

#kohana #Конструктор

Вопрос:

             ->where('orders.date_paid', 'BETWEEN', array($from, $to))
            ->and_where('orders.status', '=', 'new')
            ->or_where('orders.status', '=', 'delivered')
  

Я хотел бы показать все строки, где date_paid находится между $from и $to, где статус либо новый, либо доставлен.

Когда я добавляю это or_where() , оно игнорирует предложение BETWEEN $from и $to date_paid where .

Как я могу сделать это правильно?

Ответ №1:

Вам нужно сгруппировать ваши условия.

 ->where('orders.date_paid', 'BETWEEN', array($from, $to))
->and_where_open()
->where('orders.status', '=', 'new')
->or_where('orders.status', '=', 'delivered')
->and_where_close();
  

Комментарии:

1. Вы также можете использовать ->where('order.status', 'IN', array('new', 'delivered'));