我正在使用CakePHP 3,并有一个注册表格,简而言之,您可以设置用户名,密码,电子邮件以及一些会员统计信息(例如体重,身高等)
因为我希望用户不断更新其统计信息,所以我觉得最好用外键将其包含在自己的表中。
我的挑战是在members
数据库中创建用户,获取id
并将其余数据插入member_stats
数据库中,并设置member_id
外键全部都在CakePHP 3框架内。
因此,特别是我需要#1在注册控制器中使用不同的模型,并且#2将数据从一种形式分为member
和member_stats
数据,并使用id
成员以填充到外键。
答案 0 :(得分:0)
Cakephp足够聪明,可以从Template中的html表单理解关系。
因此,当我们有User表和UserDetails表时,它们都像 用户明细属于用户,是指每个用户明细属于一个用户,每个用户具有一个明细。
当您想将您的注册表格插入UserDetails时,Users/add.ctp
在echo $this->Form->create($user);
内
输入UserDetails
输入,但是名称不同,例如,如果weight
中有UserDetails
,则可以写类似
echo $this->Form->control('userdetails.weight');
请注意,userdetails
是与用户相关的第二个表名。
在添加操作中,您无需更改任何内容