cakephp:AppController与其他控制器冲突

时间:2014-05-20 01:46:46

标签: html arrays cakephp

App Controller的代码用于导航栏的功能。

AppController的

 public function beforeFilter() {
        parent::beforeFilter();
        $this->RememberMe->restoreLoginFromCookie();
        $this->set('server_root', Router::url('/'));

        $this->loadModel('Recipe');
    $this->set('recipes', $this->Recipe->find('all'));

一切正常,每个页面都会显示导航栏,并且所有页面中的每个导航栏都能正常运行 直到我添加一个下拉选项,需要填充" Recipe"值。

KitchenController

这是我用来填充下拉选择

的代码
$this->set('recipes', $this->Recipe->find('all',array('fields'=>array('Recipe.description')))); 

它填充了下拉列表,虽然不完全是我想要获得但稍微接近的值,但是它也会影响导航栏,导致一些错误,如未定义的变量,之前没有。它会以某种方式影响导航栏,它也使用Model" Recipe"。

问题1:如何隔离下拉选项以使其不会影响导航栏?控制器问题 问题2:如何调用数组中的特定字段?因为当前此代码

$this->set('recipes', $this->Recipe->find('all',array('fields'=>array('Recipe.description'))));

返回id,日期和描述,我只需要描述。

感谢任何帮助

1 个答案:

答案 0 :(得分:3)

您似乎正在设置相同的View变量名称"食谱"当您想要使用具有两个不同输出的相同变量时,这是个问题。您必须将变量名称更改为:

nav_recipes或食谱

或对您的应用程序上下文准确的内容