在cakephp中将数据从视图传递到控制器

在cakephp中将数据从视图传递到控制器,cakephp,cakephp-2.4,Cakephp,Cakephp 2.4,我是cakephp新手。我看了安德鲁·帕金斯的视频教程。这是一个伟大的教程,绝对初学者。 我想做的是将用户名从登录页面获取到一个隐藏字段,并将其保存在视图中,然后将其传递给控制器,必要时将其保存到数据库中 现在我有一个add.ctp,BabiesController.php作为控制器,baby.php作为模型。 由于我还没有完成登录页面,我想硬编码用户名为例 这是我的密码。希望你们能帮助我。 这是数据库。电子邮件地址已用作babyparents表的主键。Babys表的父列int是babypare

我是cakephp新手。我看了安德鲁·帕金斯的视频教程。这是一个伟大的教程,绝对初学者。 我想做的是将用户名从登录页面获取到一个隐藏字段,并将其保存在视图中,然后将其传递给控制器,必要时将其保存到数据库中

现在我有一个add.ctp,BabiesController.php作为控制器,baby.php作为模型。 由于我还没有完成登录页面,我想硬编码用户名为例

这是我的密码。希望你们能帮助我。 这是数据库。电子邮件地址已用作babyparents表的主键。Babys表的父列int是babyparents表中电子邮件地址的外键。

模型:baby.php

<?php

class Baby extends AppModel {

    var $name = 'Baby';

}
<?php

class BabiesController extends  AppController {
var $name = 'Baby';

function index()
{
    $this->set('babies',$this->Baby->find('all'));
}

function  add()
{
    if(!empty($this->data))
    {
        $this->Session->setFlash($this->data);
        if($this->Baby->save($this->data))
        {
            $this->Session->setFlash('Successful');
            $this->redirect(array('action'=>'index'));
        }
        else{
            $this->Session->setFlash('unsuccessful');
        }

    }
}
}
<h2>Sign up</h2>
<?php
echo $this->form->create('Baby',array('action'=>'add'));


echo $this->form->input('firstName');
echo $this->form->input('middleName');
echo $this->form->input('lastName');
echo $this->form->input('birthday');
echo $this->form->input('age');
echo $this->form->input('doctor');
echo $this->form->end('Sign up');
?>


除电子邮件地址外,所有数据均已保存。如有任何指导,将不胜感激。谢谢大家。

在控制器中使用saveAll($this->data)

function  add()
{
if(!empty($this->data))
{
    $this->Session->setFlash($this->data);
    if($this->Baby->saveAll($this->data))
    {
        $this->Session->setFlash('Successful');
        $this->redirect(array('action'=>'index'));
    }
    else{
        $this->Session->setFlash('unsuccessful');
    }

  }
}
在add.ctp中,将此行

echo $this->form->input('Babyparent.email');

请添加您正在使用的cakephp版本。对此我很抱歉。我正在使用cakephp-2.4.9您的表单不完整?我看不到电子邮件字段。您的问题根本不清楚:您是否有用户登录?该用户是婴儿的家长还是超级用户,无法将婴儿添加到任何家长。在第一种情况下,您应该已经将电子邮件存储在某个位置(即会话),在第二种情况下,您可以使用家长的所有电子邮件构建一个选择输入,感谢您的快速回复。很抱歉,我需要将其保存在会话或某种变量中,并将其传递给控制器进行保存。我不想提示用户输入电子邮件地址。再次感谢。我从登录页面获取电子邮件地址。因为我尚未实现登录页面。对于演示,我想给出硬编码的答案。所以我可以应用它。我假设您有一个“用户”表,其中存储了登录信息,包括电子邮件登录?在这种情况下,建立用户和婴儿家长之间的关系模型。稍后,当您想要显示数据时,也会显示关系表中的数据,例如users.email。