CakePHP,通过一个或多个ID选择MySQL记录

时间:2013-10-21 20:50:00

标签: php mysql sql cakephp

我想根据来自:

调用的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个等。

2 个答案:

答案 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'
              )
       ));