Я создаю короткий список, который хранится в переменной Session для торта
$this->Session->read('Item.shorlist');
Содержит список идентификаторов, разделенных запятыми, например.1,2,3,4,5
$shortlist = $this->Session->read('Item.shorlist');
Я бы хотел выполнить операцию поиска с использованием идентификаторов через запятую в этой переменной в условиях поиска, например:
$shortlist = $this->Item->find('all', array('conditions' => array('Item.id' => array($shortlist))));
Однако, это только возвращает 1 набор данных.Если я вручную добавлю массив, например:
$shortlist = $this->Item->find('all', array('conditions' => array('Item.id' => array(1,2,3,4,5))));
, я получу все 5 возвращенных записей.
Любые идеи, как обойти это, не выполняя многократных находок для каждого идентификатора?Если я посмотрю на дамп SQL, то увижу, где WHERE Item
. id
= ('1,2,3,4,5'), используя переменную $ shortlist, тогда как, если я введу ее вручную в виде целых чисел, разделенных запятыми, например: WHEREItem
. id
IN (1, 2, 3, 4), тогда запрос sql работает так, как мне бы хотелось.Поэтому я предполагаю, что мой вопрос заключается в том, как преобразовать разделенную запятыми строку в целые числа через запятую в переменной, чтобы SQL не выдавал ошибку?