我想根据来自:
调用的ID列表选择MySQL记录$ids = $this->params['url']['ids']
其中id是一个或多个ID,用逗号分隔。我知道我可以使用explode来获取数组中的ID:
$id = explode(",", $ids);
我知道Id的基本调用代码是:
$row = $this->Model->find('all',
array(
'conditions' => array(
'id' => $id['0'],
),
'fields' => array(
'id',
'name'
)
));
我的问题是如何在不知道我手头的ID数量的情况下选择使用多个ID?即1个Id,或3个ID,或5个等。
答案 0 :(得分:1)
这似乎适用于'id' => $id
。也就是说,传入一组ID来搜索以使用IN
子句。
答案 1 :(得分:0)
将$ id作为数组传递,CakePHP自动检测是否在条件中给出数组,它会自动将“=”更改为“IN”mysql。
$row = $this->Model->find('all',
array(
'conditions' => array(
'id' => $id,
),
'fields' => array(
'id',
'name'
)
));