如何在cakephp中使用一种表单将数据插入(保存)到两个表中?

如何在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()或

我在DB中有两个名为users和demo的表。 用户字段有(
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属于用户,那么默认情况下这将正常工作,对吗?