如何将变量从一个动作传递到下一个动作?

时间:2011-08-09 17:59:43

标签: php cakephp

我有一个表单,它收集名称,密码和email_address,它们都是User模型的一部分。同一形式也收集car_make,它是Car模型的一部分。我知道我可以收集这些

$form->input("User.name"); or $form->input("Car.make"); 

并且它们在表单提交的操作中可用

$this->data["User"] or $this->data["Car"]

但此时我只想保存用户数据并重定向到汽车控制器中的一个动作,该动作具有$ form->输入的值(“Car.make”);可用。

我该怎么做?

2 个答案:

答案 0 :(得分:0)

您需要将该信息与重定向一起传递给您的汽车控制器。执行此操作的最佳方法是在网址末尾添加参数,例如添加?car_make=MAKE。另一种选择是将make作为方法的参数传递给汽车控制器,其中url为car/method/MAKE

答案 1 :(得分:0)

你确定要重定向到汽车控制器吗?或者您只想保存Car.make信息?

如果是重定向,$this->redirect(array('controller'=>'cars','action'=>'some_action','make'=>$this->data['Car']['make']));

如果保存:loadModel('Car'),如果Car无论如何都与User无关。然后使用该Car模型对象保存数据。就像$this->User->Car->save($this->data);

之类的东西