CakePHP how to get multiple rows by array of ID's
14,836
Solution 1
According to "Complex Find Functions" (third example) this should work:
$this->YourModel->find('all', array(
'conditions' => array(
"YourModel.id" => array(1, 2, 3, 4)
)
));
Solution 2
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]
]
]);
Related videos on Youtube
Author by
mgPePe
Updated on June 04, 2022Comments
-
mgPePe almost 2 years
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
-
Martin over 11 yearsto do the same but with id different of array?
-
vstm about 11 years@Martin: thank you for the question. I'm not sure what you mean - do you want to select records whose IDs are not in the array like the
NOT IN
-operator? Or do you want to select using another field thanid
-
Martin about 11 yearsI already solved the doubt, thanks anyway stackoverflow.com/questions/14508682/…
-
mehov almost 6 yearsOn CakePHP 3 this throws InvalidArgumentException: Cannot convert value to integer