这是我最后的希望......我一整天都想弄清楚这一点,而且我已经没气了。我有一个约会应用程序,操作员输入电话,业务,姓名和通话结果(客户控制器)。然后呼叫结果进入约会控制器。让我们说运营商设置了预约,然后我现在需要为我刚刚输入的客户设置预约。但是,当我尝试为新客户设置新约会时,我只是回到Appointments索引视图而不是表单。我究竟做错了什么?我需要另外一些眼睛。我的开发团队全部被解雇了,我是最后一个,所以我没有任何人可以反复思考和编码。请帮忙。我甚至不知道我现在是否在问正确的问题。
function step1() {
$this->set('title_for_layout','Make a New Call');
if (!empty($this->data)) {
$this->Customer->create();
$this->data['Customer']['user_id'] = $this->Auth->user('id');
if ($this->Customer->save($this->data)) {
$this->Session->setFlash(__('The customer has been saved', true));
//??? WHAT DO I PUT HERE TO GO TO THE APPOINTMENTS CONTROLLER WITH THIS CUSTOMER DATA
} else {
$this->Session->setFlash(__('The customer could not be saved. Please, try again.', true));
}
}
}
答案 0 :(得分:0)
你从哪里获得$ customer?它没有初始化
因此您可以在会话中保存数据 但这不是个好主意
$this->Session->write('data',$this->data);
也可以将客户ID转移到另一个像这样的控制器
$this->redirect("/appointments /step2/{$id}/");
// this is in appointments controller
function step2($id = null){
if($id){
$this->loadModel('Customer');
$customer = $this->Customer->findById($id);
}
}
这样的事情,希望它有所帮助
答案 1 :(得分:0)
保存数据后尝试此操作
if ($this->Customer->save($this->data)) {
$this->Session->setFlash(__('The customer has been saved', true));
$id = $this->ModelName->getInsertID();
$this->redirect("customers/index/$id");
现在你有了id并在那里获取数据。 或者,如果您想将整个数组传递给该函数,请尝试使用此链接simple cakephp problem