CakePHP передает параметры в действие - PullRequest
4 голосов
/ 19 марта 2010

Привет, я в новинку в cakephp и у меня много проблем с настройкой .. Вот моя самая большая проблема ..

Я пытаюсь передать параметр в действие, оно загружается, но когда мой скрипт переходит от контроллера к представлению и снова возвращается к контроллеру, его нет.

КОД КОНТРОЛЛЕРА

 function add($mac = 0)
{


if(isset($this->params['form']['medico'])) 
{

 $temp= $this->Person->find('first', array('conditions' => array('smartphones_MAC' => $mac)));
 $id= $temp['Person']['id'];

$this->Union->set('events_id', $id+1);
$this->Union->set('people_id', $id);
$this->Union->save();

}

ПРОСМОТР КОДА (Это меню, у меня сейчас только одна кнопка)

 <fieldset>

 <legend>SELECCIONE SU ALERTA</legend>

 <?php 

  echo $form->create('Event'); 

  echo $form->submit('EMERGENCIA MEDICA',array('name'=>'medico')); 

  echo $form->end();

  ?> 

  </fieldset>

Ответы [ 3 ]

12 голосов
/ 22 марта 2010

При создании формы вы не включаете дополнительные параметры URL или поля в качестве входных данных. Без этих параметров параметры исчезнут, так как они не являются частью нового запроса. Вы можете добавить дополнительные параметры в URL отправки формы с помощью

$form->create('Event', array(
    'url' => array('something', 'somethingelse')
));

Это создаст форму, которая указывает на /events/add/something/somethingelse.

0 голосов
/ 19 марта 2010

Возможно, вы захотите попробовать именованные параметры .

Я задал похожий вопрос, который может оказаться полезным:

CakePHP добавление записи с некоторыми исправленными параметрами

0 голосов
/ 19 марта 2010

Я не большой поклонник использования некоторых помощников (например, $ html) или некоторых методов (например, $ form's create () и end ()). Я вроде не понял твою проблему, но я думаю, что это может быть связано с тем, что тебе нужно отправить запрос POST на тот же URL-адрес, что и на самом деле.

<form method="GET" action="<?=$this->here ?>">

Возможно, вам следует дать дальнейшее объяснение того, чего вы пытаетесь достичь.

...