cakephp检索列中的多个值

时间:2009-11-06 15:43:37

标签: php sql cakephp

我想从字段中检索多个值。我正在使用此代码的代码

$conditions = array('Tag.name'=>$compare);//$compare = array('value1', 'value2',..);
$values = $this->find('all', array('conditions' => $conditions));

但它不断出现

    SELECT `Tag`.`id`, `Tag`.`name`, `Tag`.`count` FROM `tags` AS `Tag` WHERE `Tag`.`name` IN ('tag2', ' tag1', ' one tag') 

问题是它只检索给定的第一个值。而不是所有的价值观。如何让它选择数组中的所有值。

1 个答案:

答案 0 :(得分:2)

您使用的是什么版本的Cake?

但主要的是你的条件需要在一个字段数组中。

find('all', array(
'conditions' => array('name' => 'Thomas Anderson'),
'fields' => array('name', 'email'),
'order' => 'field3 DESC',
'recursive' => 2,
'group' => 'type'
));

参考,Model::find() API Docs

您的查询无效的原因是您需要将其移动到该模式中。

所以你的查询是,

$compare = array('value1', 'value2');
$values = $this->Model->find('all', array('fields' => $compare));

在你的例子中不确定你是否想要省略它,但总是最好包括你正在运行查找的模型:)