2

我用该方法绑定了$this>model->find()一个数组,其中我的模型的 id 具有这种形式:

Array ( [0] => 2,  [1] => 3)  (value are the IDs)

我尝试$this->model->find('list')了,我认为这也可以,但出于某种奇怪的原因,我做了:

$this->model->find('list',array('recursive' => -1  ,'fields' => array('model.type_id'),'conditions'=>$cond));

查询结果为:

SELECT `model`.`round_id`, `model`.`type_id` FROM `database`.`model` AS `X` WHERE `X`.`Round_id` = '1'

如果我对数据库进行这个查询返回两个值但是 cakephp 只返回一个:

Array ( [1] => 2 )

我不知道那可能会发生

4

1 回答 1

3

我会用

$ids = $this->Model->find('list', array('fields' => array('id')));

如果你真的需要基于 0 的整数键,你仍然可以这样做:

$ids = array_values($ids);

但这不是海事组织的必要条件。

更新:

在您的问题更新后,您的问题本身的全部含义发生了变化:

如果您仅指定 id,则它们的键和值都将用它填充。使用'fields' => array('round_id', 'type_id')你有 round_id 填充键,type_id 填充 find(list) 的值。

find(list) 总是返回一个列表(键 + 值行)。如果您不希望使用 find(all) 那么。

于 2013-01-25T10:18:31.827 回答