【问题标题】:Phalcon $model-find()->filter + paginatePhalcon $model-find()->过滤器+分页
【发布时间】:2016-02-08 21:27:41
【问题描述】:

查看文档,此代码有效:

$customers = Customers::find();

$numberPage = $this->request->getQuery("page", "int");
$paginator = new Paginator(array(
    "data"  => $customers,
    "limit" => 10,
    "page"  => $numberPage
));

但是这个不行,我真的不明白为什么

$customers = Customers::find()->filter(
  function ($customer) {

    // Return only customers with a valid e-mail
    if (filter_var($customer->email, FILTER_VALIDATE_EMAIL)) {
        return $customer;
    }
  }
);

$numberPage = $this->request->getQuery("page", "int");
$paginator = new Paginator(array(
    "data"  => $customers,
    "limit" => 10,
    "page"  => $numberPage
));

然后,我收到“内部错误”。奇怪,$customers 对象似乎改变了。

有什么想法吗?

提前,谢谢。

【问题讨论】:

  • 请发布整个错误信息。

标签: filter model find phalcon


【解决方案1】:

Model::find() 的结果应该是Phalcon\Mvc\Model\Resultset 的实例,Phalcon\Paginator\Adapter\Model 的分页器接受。

Resultset::filter() 方法的结果是模型实例的数组,什么不是Resultset 的实例。要对数组进行分页,有 Phalcon\Paginator\Adapter\NativeArray paginator 实现。

【讨论】:

    猜你喜欢
    • 2013-09-27
    • 2014-07-12
    • 2018-06-13
    • 1970-01-01
    • 2014-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-11
    相关资源
    最近更新 更多