2011-04-21 64 views
0

遇到另一个问题,我似乎无法找到任何可能导致的信息。CakePHP:使用查找和包含的未定义变量

我声明了变量$ make,并且在视图内部找不到它。

这里是我当前的代码:

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

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

} >

我也试过这样:$这个 - >设置 - >( '使',$这个 - > Make->找到(脚本在这里));

任何意见,将不胜感激谢谢!

除了cakePHP的书以外是否还有其他参考资料?

阵列 ( [0] =>数组 ( [制作] =>数组 ( [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 
            ) 

          ) 

        ) 

      ) 

    ) 

回答

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')); 
} 
+0

非常感谢,开始了解它。 你能给我一个指导,为什么这不起作用。 <?php echo $ makes ['Make'] ['MakeName']?> 我能够进行调试($ make)并且数组显示正确。 – Michael 2011-04-21 04:18:33

+0

这可能需要一个新问题,但是'MakeName'是模型还是字段? – Stoosh 2011-04-21 04:30:46

+0

MakeName是一个字段 – Michael 2011-04-21 04:33:26

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); 
}