CakePHP:使用find和containable的未定义变量

CakePHP:使用find和containable的未定义变量,cakephp,cakephp-1.3,Cakephp,Cakephp 1.3,遇到另一个问题,我似乎找不到任何可能导致的信息 我正在声明变量$make,但在视图中找不到它 这是我目前的代码: function makemodel($id = null) { $this->Make->id = $id; $makes = $this->Make->find('all', array( 'conditions' => array('id' => $id), 'contain' => a

遇到另一个问题,我似乎找不到任何可能导致的信息

我正在声明变量$make,但在视图中找不到它

这是我目前的代码:

function makemodel($id = null) {
    $this->Make->id = $id;

    $makes = $this->Make->find('all', array(
        'conditions' => array('id' => $id),
        'contain' => array('Makemodel' => array('Road'))
        )
    );
}
} ?>

我也试过:$this->set->('makes',$this->Make->find(这里的脚本))

任何建议都将不胜感激,谢谢

除了cakePHP的书之外,还有其他参考资料吗

排列 ( [0]=>阵列 ( [制作]=>阵列 ( [id]=>1 [url\u make]=>斯巴鲁 [MakeName]=>斯巴鲁 [MakeOrigin]=>日本 [摘要]=>

            )

        [Makemodel] => Array
            (
                [0] => Array
                    (
                        [id] => 1
                        [ModelName] => Impreza WRX
                        [make_id] => 1
                        [Road] => Array
                            (
                                [0] => Array
                                    (
                                        [id] => 3
                                        [makemodel_id] => 1
                                        [RoadTypeID] => 1
                                        [name] => Dirt
                                    )

                                [1] => Array
                                    (
                                        [id] => 4
                                        [makemodel_id] => 1
                                        [RoadTypeID] => 2
                                        [name] => Snow
                                    )

                            )

                    )

            )

    )

)

是否返回正确的结果

function makemodel($id = null) {
    $makes = $this->Make->find('all', array(
        'conditions' => array('id' => $id),
        'contain' => array('Makemodel' => array('Road'))
        )
    );
    $this->set('makes', $makes);
}

假设find调用工作正常,则必须使用
set()
方法将数据从控制器传递到视图

    function makemodel($id = null) {
    $this->Make->id = $id;

    $makes = $this->Make->find('all', array(
        'conditions' => array('id' => $id),
        'contain' => array('Makemodel' => array('Road'))
        )
    );
    $this->set(compact('makes'));
}

太棒了,谢谢你开始了解它。你能给我一个指导,为什么这不起作用。我能做一个调试($makes)数组看起来是正确的。这可能需要一个新问题,但
MakeName
是一个模型还是一个字段?我需要看一看数组,把它扔进一个粘贴箱或其他东西。为了获得帮助,我在问题中发布了数组。如果它不在循环中,你必须访问$makes['Makemodel'][0]['ModelName']