找到许多对象CakePHP 3.0

时间:2015-10-28 20:39:18

标签: php cakephp orm

我的CakePHP项目中有一些类别,其中包含许多子类别,其中包含许多文本,其中包含许多和属于ToMany标记。 换句话说,文本可以被标记并属于子类别。子类别属于某个类别。

我正在寻找一种干净有效的方法来获取这些信息。我想要所有类别,所有这些子类别,依赖于它的文本及其标签。

我认为我的控制器第一次应该返回一个数组:

['categories'=>[[
    'name'=>'cat1' 'subcategories'=>[[
        'name'='sub1', texts=>[[
            'name'=>'text1', 'tags'=>['tag1', 'tag2']
        ]]
    ]]
]]]

所以我尝试手工构建这个结构,然后在一个循环中循环创建一个循环...代码太可怕了,我知道我的方式是错误的。

我尝试将所有表格与' find'一起加入方法,但它似乎不起作用。 这是代码的开头:

        $query = $categories->find('all', [
        'where'=>['Categorie.enabled ='=>true],
        'join'=>[
        [
            'table' => 'Subcategories',
            'type' => 'LEFT',
            'conditions' => 'Subcategories.categorie_id = Categories.id'

        ],[
            'table' => 'Texts',
            'type' => 'LEFT',
            'conditions' => 'Texts.subcategorie_id = Subcategories.id'

        ]
        ],
        'fields' => ['Subcategories.name', 'Categories.name']
        ]);

我有两行,每个子类别一行,但我看不到文本。

我是否正确使用连接? 为什么我创建的文本在我的测试页面上不可见? 我的拼写错误是单一类别导致这种故障的原因吗?

我希望我能理解。

0 个答案:

没有答案