在分页条件中使用数组[CakePHP 3]

时间:2017-03-02 20:46:17

标签: php arrays cakephp pagination cakephp-3.0

我想使用一个id数组作为我的paginate函数的一个条件,但我得到这个错误'无法将值转换为整数',我明白数组不是整数,但我怎么能让条件看起来对于数组中的所有值。

$friendsid = explode(',', $this->Auth->user('friends'));
$this->paginate = [ 
    'conditions' => [
        'Users.id' => $friendsid,
    ]
]; 
$this->set('users', $this->paginate($this->Users));
$this->set('_serialize', ['users']);

1 个答案:

答案 0 :(得分:1)

你可以尝试一下:

$friendsid = explode(',', $this->Auth->user('friends'));
$query     = $this->Users->find() 
                ->where(function ($exp, $q) use ($friendsid) {
                    return $exp->in('Users.id', $friendsid);
                });
$this->set('users', $this->paginate($query));
$this->set('_serialize', ['users']);