CakePHP-在模型之间传递数据

CakePHP-在模型之间传递数据,cakephp,cakephp-1.3,Cakephp,Cakephp 1.3,这是我最后的希望…我一整天都在想办法解决这个问题,我的汽油用完了。我有一个预约应用程序,接线员输入电话、业务、姓名和呼叫结果客户控制器。然后,呼叫结果将发送到约会控制器。假设操作员设置了一个约会,那么我现在需要为我刚刚输入的客户设置一个约会。但是,当我尝试为新客户设置新约会时,我只会返回到约会索引视图而不是表单。我做错了什么?我需要其他人来关注这件事。我的开发团队都被解雇了,我是最后一个离开的人,所以我没有任何人可以提出想法和编写代码。请帮忙。我甚至不知道我现在问的问题是否正确 function

这是我最后的希望…我一整天都在想办法解决这个问题,我的汽油用完了。我有一个预约应用程序,接线员输入电话、业务、姓名和呼叫结果客户控制器。然后,呼叫结果将发送到约会控制器。假设操作员设置了一个约会,那么我现在需要为我刚刚输入的客户设置一个约会。但是,当我尝试为新客户设置新约会时,我只会返回到约会索引视图而不是表单。我做错了什么?我需要其他人来关注这件事。我的开发团队都被解雇了,我是最后一个离开的人,所以我没有任何人可以提出想法和编写代码。请帮忙。我甚至不知道我现在问的问题是否正确

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));
        }
    }
}

你从哪里得到了$customer?它不是初始化

所以您可以在会话中保存数据 但这不是个好主意

$this->Session->write('data',$this->data);
uoy还可以像这样将客户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);
  }
}

类似这样的东西,希望有帮助

保存数据后尝试一下

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并在那里获取数据。
或者,如果要将整个数组传递给该函数,请尝试此链接

我稍微更新了代码并将其删除。我不知道为什么会这样,甚至没有注意到。经过一个月的不接触,我重新访问了这段代码,我不知道我以前在那里试图做什么。它可能是我尝试的其他东西留下的代码。谢谢如果您能再次查看代码并提供帮助,我将不胜感激。我觉得您的问题不是很清楚。你想重定向到某个地方吗?如果是的话,当你到达那里时,你需要什么数据-ID,你保存到数据库的数据,一些其他数据,例如会话?您的操作名称step1表明这是一种向导,有人会连续填写多个表单,是吗?这并不是我所需要的,但它让我的精力流向了正确的方向,我现在可以继续前进了。非常感谢。