ZF2大于/小于查询

时间:2017-07-28 09:19:13

标签: select zend-framework2

SQL查询

Select * FROM table_name 
WHERE category = 'category_name' 
AND created < 'todays_date' 
AND created > 'yesterdays_date'

还需要添加ORDER和LIMIT条件。 如何在ZF2中实现这一目标?

我有这段代码:

$rowset = $this->tableGateway->select(function ($select) {
        $select->where(['category' => $this->category]);
        $select->order('id Desc');
        $select->limit($this->limit);

        $DBtimeNow = new \DateTime();
        $select->lessThanOrEqualTo("created", $DBtimeNow->format('Y-m-d H:i:s'));
        $DBtimeNow->sub(new DateInterval('P1D'));
        $select->greaterThanOrEqualTo("created", $DBtimeNow->format('Y-m-d H:i:s'));
    });

1 个答案:

答案 0 :(得分:1)

在这种情况下,您需要使用Predicate对象,因为您要使用运算符:<=>=。您可以使用ZF2 Zend\Db\Sql\Where的{​​{1}}组件来扩展Zend\Db。然后我们可以在需要时使用这些运算符。请查看以下内容:

Zend\Db\Sql\Predicate