我有名为Place和Category的模型,它们使用HABTM关系连接。现在,当我从Place中读取特定字段时,我会在结果中获得其他字段,如下所示。
array(
'Place' => array(
'id' => '8'
),
'Category' => array(
(int) 0 => array(
'id' => '2',
'CategoriesPlace' => array(
'id' => '673',
'place_id' => '8',
'category_id' => '2'
)
),
(int) 1 => array(
'id' => '3',
'CategoriesPlace' => array(
'id' => '674',
'place_id' => '8',
'category_id' => '3'
)
),
(int) 2 => array(
'id' => '5',
'CategoriesPlace' => array(
'id' => '675',
'place_id' => '8',
'category_id' => '5'
)
)
)
)
我不希望显示此类别位置数组。知道怎么做吗?
两种结块解决方案:
$this->Place->recursive=-1;
在发现之前。
或者:
$this->Place->contain();
包含文档
编辑:为了更好地控制输出:
可容纳文档
看跌:
public $actsAs = array('Containable');
在模型中。
然后:
$this->Place->find('all', array(
'contain' => array(
'Place',
'Category' => array(
'fields'=>array('id')
)
)
)
);
它可能无法工作,因为cakephp添加了执行查询所需的所有外键。