请耐心等待我,因为我是蛋糕菜鸟。我有这个应用程序,应该访问www.name.com/complexes/somecomplex/unitnumber。我可以正确地将它推进到www.name.com/complexes/somecomplex,但我不知道如何获得我的单位号码的完整路径。
这是我的控制器:
class ComplexesController extends AppController {
public $name='Complexes';
public $uses=array('User', 'Complex', 'Unit');
public $layout='pagelayout';
public function view() {
$this->set('complex', strtoupper($this->params['id']));
$c=$this->Complex->find('first', array('conditions'=>array('complex_name'=>$this->params['id'])));
$this->set('complex_data', $c);
}
}
这是我的路线
Router::connect('/complexes/:id', array('controller' => 'complexes', 'action' => 'view'));
我在哪里编写调用特定单元的操作?在我的“视图”动作或其他名为“单位”的动作中?我怎么告诉蛋糕路线?
答案 0 :(得分:0)
我明白了!我必须在我的view()函数中传递一个名为$ unit的参数,我在其中设置条件以查找我在url($ unit)中输入的单位数。所以,我的代码最终看起来像这样:
public function view($unit=null) {
$this->set('complex', strtoupper($this->params['id']));
$c=$this->Complex->find('first', array('conditions'=>array('complex_name'=>$this->params['id'])));
$this->set('complex_data', $c);
$u=$this->Unit->find('first', array('conditions'=>array('unitnum'=>$unit)));
$this->set('unit', $u);
}
在我的路线文件中我添加了这一行:
Router::connect('/complexes/:id/*', array('controller' => 'complexes', 'action' => 'view'));
它有效!