我是cakephp的新手。我浏览了Andrew Perkins的视频教程。对于绝对的初学者来说这是一个很棒的教程。 我想要做的是从登录页面获取用户名到隐藏字段并将其保存在视图中。并将其传递给控制器并在必要时将其保存到数据库。
现在我有一个add.ctp,BabiesController.php作为控制器,baby.php作为模型。 因为我还没有完成登录页面,所以我想对用户名进行硬编码。
这是我的代码。希望你们能帮助我。 这是database.emails地址已被用作babyprents table.parent列的主键。婴儿表是babyparents表中电子邮件地址的外键。
型号: 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');
?>
除电子邮件地址外,所有数据都已保存。我们将非常感谢。谢谢大家。
答案 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');