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

时间:2011-04-21 03:13:07

标签: cakephp cakephp-1.3

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

我声明变量$ 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->('make',$ this-> Make-> find(script here));

任何建议都将不胜感激!

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

阵 (     [0] =>排列         (             [Make] =>排列                 (                     [id] => 1                     [url_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
                                    )

                            )

                    )

            )

    )

2 个答案:

答案 0 :(得分:1)

假设查找调用工作正常,您必须使用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'));
}

答案 1 :(得分:0)

find是否会返回正确的结果?

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