如何在cakephp中使用一种表单将数据插入(保存)到两个表中?
我在DB中有两个名为users和demo的表。 用户字段有(如何在cakephp中使用一种表单将数据插入(保存)到两个表中?,cakephp,Cakephp,我在DB中有两个名为users和demo的表。 用户字段有(id,username,password,email,phone) 演示字段有(id,user\u id[forign key],sex,city)首先,在您的表单(视图)中,您必须准备好数据。确保每个输入都具有以下格式 $this->Format->input('Model.field', array(...)); 这样,您可以指定每个输入属于哪个模型 现在你有两个选择 如果您的模型与 然后您可以使用saveAll()或
id
,username
,password
,email
,phone
)
演示字段有(
id
,user\u id
[forign key],sex
,city
)首先,在您的表单(视图)中,您必须准备好数据。确保每个输入都具有以下格式
$this->Format->input('Model.field', array(...));
这样,您可以指定每个输入属于哪个模型
现在你有两个选择
如果您的模型与
然后您可以使用saveAll()
或saveAsociated()
方法,只需确保您的数据具有propper格式,例如:
$data = array(
'Article' => array('title' => 'My first article'),
'Comment' => array(
array('body' => 'Comment 1', 'user_id' => 1),
array('body' => 'Comment 2', 'user_id' => 12),
array('body' => 'Comment 3', 'user_id' => 40),
),
);
在这种情况下,您可以执行saveAll()或saveAssociated()(为简单起见,我建议使用saveAll())
如果您的模型之间没有关系
然后在控制器中,必须导入外部模型,如下所示
$this->loadModel('ImportedModel');
然后保存当前模型,然后创建并保存外部模型
$this->Model->save($this->request->data);
$this->ImportedModel->save($this->request->data);
使用hasOne或Hasmanys的概念告诉我们你尝试了什么?使用hasOne Realationship和Cakephpw中的savAll函数你为什么做这件蠢事?所有这些字段都属于一个表。您无法规范化这两个表。(它应该是一个表)如果您定义用户有多个demo并且demo属于用户,那么默认情况下这将正常工作,对吗?