如何在cakePHP中保存此数据?
我有一个如何在cakePHP中保存此数据?,php,cakephp,model,save,model-associations,Php,Cakephp,Model,Save,Model Associations,我有一个用户模型和一个寄宿者模型,不是每个用户都是寄宿者,但每个寄宿者都是用户。 用户模型 class User extends AppModel { public $primaryKey = "user_id"; public $hasMany = 'Boarder'; } class Boarder extends AppModel { public $belongsTo = 'User'; } 寄宿生模式 class User extends AppModel
用户
模型和一个寄宿者
模型,不是每个用户都是寄宿者,但每个寄宿者都是用户。用户模型
class User extends AppModel
{
public $primaryKey = "user_id";
public $hasMany = 'Boarder';
}
class Boarder extends AppModel
{
public $belongsTo = 'User';
}
寄宿生模式
class User extends AppModel
{
public $primaryKey = "user_id";
public $hasMany = 'Boarder';
}
class Boarder extends AppModel
{
public $belongsTo = 'User';
}
添加我的寄宿生视图的.ctp
<?php
echo $this->Form->create('Boarder', array('role' => 'form', 'novalidate' => true));
echo $this->Form->input('user_name');
echo $this->Form->input('bdr_home_address');
echo $this->Form->end();
?>
[user\u name]
将保存在用户模型中,而[bdr\u home\u address]
将保存在寄宿生模型中。如我的$this->Form->create
中所示,请求将被定向到BoardersController,action add那么我怎样才能保存这个呢?
BoardersController
class BoardersController extends AppController
{
public function add()
{
}
}
如果每个
寄宿者
都是用户
,则寄宿者
表应包含一个用户id
字段
add.ctp
表单可以如下所示
<?php
echo $this->Form->create('Boarder', array('role' => 'form', 'novalidate' => true));
echo $this->Form->input('User.username');
echo $this->Form->input('Boarder.home_address');
echo $this->Form->submit();
echo $this->Form->end();
?>
它像魔术一样工作,这是在蛋糕API书中吗?。非常感谢,先生@cornelbsave在api手册中,我可以在更新中也这样做吗?因为我在更新中遇到了问题。我的
id
字段未命名为id
它的user\u id
,因此当我使用$this->user->id=$id
时,它不会工作。如何将我的id命名为user\u id
,这样我就可以在更新时使用$this->user->id
?我在更新数据时确实遇到了问题,我不知道如何更新?