php-cakephp-使用递归方法指定分页中的许多列/字段

php-cakephp-使用递归方法指定分页中的许多列/字段,php,cakephp,pagination,cakephp-2.0,Php,Cakephp,Pagination,Cakephp 2.0,在这里,我已经浏览了containable组件和其他问题,但这似乎对我没有帮助 基本上,我将paginate设置为1,这将返回类似于 Array ( [0] => Array ( [ModelName1] => Array ( [id] => 83 [parent_id] => null [field1] => value1 ) [AssociatedModelName1] =>

在这里,我已经浏览了containable组件和其他问题,但这似乎对我没有帮助

基本上,我将paginate设置为1,这将返回类似于

Array
(
[0] => Array
(
    [ModelName1] => Array
    (
        [id] => 83
        [parent_id] => null
        [field1] => value1
    )

    [AssociatedModelName1] => Array
    (
        [id] => 1
        [field1] => value1
    )

    [children] => Array
    (
        [0] => Array
        (
            [ModelName] => Array
            (
                [id] => 42
                [parent_id] => 83
                [field1] => value1
                [field2] => value2
                [field3] => value3
            )

            [AssociatedModelName] => Array
            (
                [id] => 2
                [field1] => value1
                [field2] => value2
                [field3] => value3
            )
我可以通过添加

$fields => array("ModelName1.field1") 
到设置数组。事实上,我将其传递给DataTable插件组件初始化的“列”,但它应该是相同的

然而,因为有这么多的子项,并且每个子项包含很多字段,所以我只想得到每个子项的“field2”

我怎样才能做到这一点?如果我指定“Children.ModelName1”,我会得到一个SQL1054错误,这是找不到的列


有什么线索吗?

您必须以某种方式使用条件数组:

$this->paginate['Model'] = array(
    'contain' => array(
        'ChildModel' => array(
            'fields' => array('ChildModel.field1', 'Childmodel.field2'),
            'ChildChildModel' => array(
                'fields' => array('ChildChildModel.field1', 'ChildChildModel.field2'),
            )
        )
    )
);

您可以显示此查询的代码吗?我使用的是内置的PaginateComponent,它不是自定义查询$此->票证->递归=1$此->数据表->分页();检查