2017-03-02 6 views
0

Ich möchte ein Array von IDs als Bedingung für meine Paginate-Funktion verwenden, aber ich bekomme diesen Fehler 'Kann Wert nicht in Ganzzahl konvertieren', verstehe ich, dass ein Array keine ganze Zahl ist , aber wie könnte ich die Bedingung für alle Werte im Array aussehen lassen.Verwenden Array in Paginierungsbedingungen [CakePHP 3]

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

http://stackoverflow.com/questions/26887511/how-to-create-a-in-clause-in-cakephp-query – ndm

+2

Mögliche doppelte von [Wie man eine \ 'IN \' Klausel in der CakePHP Abfrage erstellt?] (http://stackoverflow.com/questions/26887511/how-to-create-a-in-clause-in-cakephp-query) – ahoffner

Antwort

1

Sie könnten es versuchen:

$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']);