2012-03-14 4 views
1

Zend Frameworkで次のクエリを書くにはどうすればいいですか? discount_start_dateとdiscount_end_date列上記のクエリでクエリ間のZend Framework

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

事前に

おかげテーブル内の日付フィールドです。

答えて

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

$ databaseはZend_Db_Adapter_Abstractの子孫です。

1

はまた: -

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

も働くだろう。 Zendの2と

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); 
関連する問題