Zend Framework Between Query - PullRequest
       7

Zend Framework Between Query

1 голос
/ 14 марта 2012

Как мне написать следующий запрос в Zend Framework?

select * from hosted_plans where hp_id=15 and curdate() between discount_start_date and discount_end_date

В запросе над столбцами discount_start_date и discount_end_date указаны поля даты в таблице

Заранее спасибо.

Ответы [ 3 ]

4 голосов
/ 14 марта 2012
$query = $database->select ()
    ->from ('hosted_plans')
    ->where ('hp_id = ?', 15)
    ->where ('curdate() between discount_start_date and discount_end_date');

$ база данных - потомок Zend_Db_Adapter_Abstract.

2 голосов
/ 18 декабря 2014

Одна возможная форма с Zend 2:

    $select = $this->tableGateway->getSql()->select();
    $select->where(array('hp_id' => 15, new \Zend\Db\Sql\Predicate\Expression('curdate() BETWEEN discount_start_date AND discount_end_date')));
    $resultSet = $this->tableGateway->selectWith($select);
1 голос
/ 14 марта 2012

В качестве альтернативы: -

$query = $database->select ()
    ->from('hosted_plans')
    ->where('hp_id = ?', 15)
    ->where('curdate() >= discount_start_date')
    ->where('curdate() <= discount_end_date');

Также будет работать.

...