mgPePe
mgPePe

Reputation: 5907

CakePHP how to get multiple rows by array of ID's

I would like to pull from database multiple rows, according to a list of array of ID's.

In some other frameworks there seem to be something like "WHERE_IN", but not here.

Can someone tell me how to do it?

I would like to know how to do that through the find() or read() (or any other cakephp function) and NOT build a query manually, since I want all data to be escaped and secure.

thank you

Upvotes: 9

Views: 15432

Answers (2)

Joe C
Joe C

Reputation: 2834

It looks like in the newer CakePHPs you need to specify 'IN'. This solves aexl question.

$this->YourModel->find('all', [
    'conditions' => [
        "YourModel.id IN" => [1, 2, 3, 4]
    ]
]);

Upvotes: 1

vstm
vstm

Reputation: 12537

According to "Complex Find Functions" (third example) this should work:

$this->YourModel->find('all', array(
    'conditions' => array(
        "YourModel.id" => array(1, 2, 3, 4)
    )
));

Upvotes: 26

Related Questions