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