2016-02-08 38 views
1

有在doc一看,此代碼的工作:

$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對象似乎被改變了。

有什麼想法?

提前,謝謝。

+1

請發佈整個錯誤消息。 –

回答

1

Model::find()的結果應該是Phalcon\Mvc\Model\Resultset的一個實例的分頁符所接受的內容。

Resultset::filter()的結果方法是模型實例的數組,不是Resultset的實例。分頁數組有Phalcon\Paginator\Adapter\NativeArraypaginator實施。

+0

非常感謝你! – Didier

+0

正是我想要的,謝謝! – Bertie92