2013-10-21 85 views
0

我要选择基于ID的列表上的MySQL记录多数民众赞成从名为:CakePHP中,选择MySQL的记录由一个或多个ID

$ids = $this->params['url']['ids'] 

当IDS是一个或多个ID,用逗号分隔。我知道我可以用爆炸来获得的ID在一个阵列:

$id = explode(",", $ids); 

我知道凭身份证调用的基本代码:

$row = $this->Model->find('all', 
     array(
       'conditions' => array(
        'id' => $id['0'], 
      ), 
       'fields' => array(
        'id', 
        'name' 
      ) 
     )); 

我的问题是如何选择使用多个ID不知道我之前手头的AMOUNT是多少?即1个Id或3个ID或5个等。

回答

1

看来这应该与'id' => $id一起使用。也就是说,传入一组ID来搜索以使用IN子句。

+0

也http://book.cakephp.org/2.0/en/models/retrieving-your-data.html#complex-find-conditions – ndm

+0

看得很清楚凉爽。不认为它会自动执行。谢谢 :) – brizz

0

传递$ id作为数组,CakePHP自动检测数组是否在条件中给出,它会自动将“=”变成“IN”mysql。

$row = $this->Model->find('all', 
     array(
       'conditions' => array(
        'id' => $id, 
      ), 
       'fields' => array(
        'id', 
        'name' 
      ) 
     ));