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

时间:2014-05-08 10:31:47

标签: cakephp cakephp-2.4

我是cakephp的新手。我浏览了Andrew Perkins的视频教程。对于绝对的初学者来说这是一个很棒的教程。 我想要做的是从登录页面获取用户名到隐藏字段并将其保存在视图中。并将其传递给控制器​​并在必要时将其保存到数据库。

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

这是我的代码。希望你们能帮助我。 这是database.emails地址已被用作babyprents table.parent列的主键。婴儿表是babyparents表中电子邮件地址的外键。 enter image description here

型号: baby.php

<?php

class Baby extends AppModel {

    var $name = 'Baby';

}

控制器: BabiesController.php

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

    }
}
}

查看: add.ctp

<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');
?>

除电子邮件地址外,所有数据都已保存。我们将非常感谢。谢谢大家。

1 个答案:

答案 0 :(得分:0)

在您的控制器中使用 saveAll($ this-&gt; 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');
相关问题