选择蛋糕php

时间:2017-09-18 04:01:57

标签: cakephp select

在这种形式中,我看不到select的名称,这个下拉列表不起作用,我的代码是:

在控制器中我有:

public function admin_cambiar_centro() {
      $this->Session->write(
          'Auth.User.centro_id', 
          $this->request->data('CambioCentro.centro_id')
      );
      $this->redirect($this->referer());
}

在视图中:

<?= $this->Form->create('CambioCentro', array(
    'url' => array(
        'controller'=> 'Users', 
        'action' => 'cambiar_centro'
     )
)) ?>
<?= $this->Form->select('centro_id', 
    Hash::combine(AuthComponent::User('Centro'), '{n}.id', '{n}.nombre'), 
    array(
        'empty' => false,
        'value' => AuthComponent::User('centro_id'),
        'style' => 'margin-top: 7px;',
        'onchange' => 'this.form.submit()',
 )); ?>
 <?=$this->Form->end()?>

如果你能帮助我,我会非常感激

1 个答案:

答案 0 :(得分:0)

您的表单网址看起来不正确。尝试添加admin =&gt;表格的网址是真的。

<?=$this->Form->create('CambioCentro', array('url' => 
             array('controller' 
             => 'Users', 'action' => 'cambiar_centro', 'admin' => true)))?>

另一个潜在的问题是你正在写入会话并重定向每个请求,因此你可以创建一个重定向循环,并且在获取请求时会覆盖会话变量。

检查操作中的请求类型:

public function admin_cambiar_centro() {
    if($this->request->is('post')) {
        $this->Session->write('Auth.User.centro_id', 
            $this->request->data('CambioCentro.centro_id'));
        return $this->redirect($this->referer());
    }
}