-1

我正在尝试定义一个将传递给控制器​​动作的变量,如下所示

public function index($branch = null) {
        //padmanabha-nagar
        //jp-nagar
        $branch = "padmanabha-nagar";

        $this->loadModel('Branch');

        // Check if the Branch is valid
        if(!empty($branch)){
            $this->Branch->recursive = -1;
            $branch_result = $this->Branch->find('first', array('order' => array('Branch.name ASC'), 'conditions' => array('Branch.slug' => $branch)));

          //debug($branch_result);

            // Fetch the Branch ID
            if(!empty($branch_result)){
                $branch_id = $branch_result['Branch']['id'];
            } else {
                return $this->redirect(array('controller' => 'pages', 'action' => 'home'));
            }

            // Fetch the Gallery Images
            $this->Gallery->recursive = -1;
            $this->Paginator->settings = $this->paginate;
            $galleries = $this->Gallery->find('all', array('conditions' => array('Gallery.branch_id' => $branch_id)));

            //debug($galleries);
        }

        $this->set(compact('galleries', 'branch_result'));
    }

但是当我尝试访问 $branch 时,它似乎没有设置。我需要做任何其他配置才能获取内容吗?

4

3 回答 3

1

尝试将分支添加到该行,如下所示: $this->set(compact('galleries', 'branch_result', 'branch'));

于 2014-09-29T11:15:32.610 回答
1

你写完了输入变量

public function index($branch = null) {
        //padmanabha-nagar
        //jp-nagar
        $branch = "padmanabha-nagar"; <= you are over writing the input variable
        ...

你可以这样做

        $branch = !empty($branch)?$branch:"padmanabha-nagar";
于 2014-09-29T11:15:41.373 回答
1

您可以使用创建一个变量来分类

  $branches = null; 

而不是采取行动,然后使用变量 using

  $this->branches
于 2014-09-29T11:42:08.337 回答