Php 是否可以在一个Phalcon\Mvc\Model::find()方法中指定两个极限值(起始、偏移)?

Php 是否可以在一个Phalcon\Mvc\Model::find()方法中指定两个极限值(起始、偏移)?,php,phalcon,Php,Phalcon,一时间,我发现了以下例子: $robots = Robots::find(array("limit" => 100)); 是否可以为“限制”、“起始”和“偏移”定义两个值? 在Zend Framework中,可以使用Db适配器功能,如下所示: $db->select()->limit($from, $offset) limit参数不能只接受int值。 这个例子也适用: $offset = 20; $from = 10; $collection = Model::find

一时间,我发现了以下例子:

 $robots = Robots::find(array("limit" => 100));
是否可以为“限制”、“起始”和“偏移”定义两个值? 在Zend Framework中,可以使用Db适配器功能,如下所示:

 $db->select()->limit($from, $offset)

limit参数不能只接受int值。 这个例子也适用:

$offset = 20;
$from = 10;
$collection = Model::find(array("limit" => $from . ',' . $offset));

您可以始终使用PHQL,它支持控制器中的偏移量:

$sql     = 'SELECT * FROM Robots LIMIT 100 OFFSET 10';
$stmt    = $this->modelsManager->createQuery($sql)
$results = $stmt->execute();
试试这个:

$collection = Model::find(array(
    "limit" => array('number' => $from, 'offset' => $offset)
));

通过执行以下操作,您可以使查询非常可自定义:

    <?php
    $notifications = \UserNotification::find([
        "user_id = :user_id: ORDER BY date DESC LIMIT 5",
            "bind" => [
            "user_id" => 1
         ]
    ]);

您只需传递另一个名为offset的元素并在其中指定值,请参阅下面的示例:

$orders=订单::findarray 订单=>id描述, 极限=>10, 偏移量=>0 ;

有关详细信息,请参阅以下链接:


我不想在这里使用原始查询。。Phalcon\Mvc\Model在这里提供了非常好的抽象层。但不管怎样,你的答案是正确的,谢谢:在1.3.2版上运行良好,谢谢。如果需要从第1页开始使用$params['limit']和$params['page']分页,可以执行以下操作:$params['limit']=array'number'=>$params['limit'],'offset'=>$params['page']-1*$params['limit'];取消设置$params['page'];