php - 想要将表单中的数据字段保存到两个模型的两列中

标签 php mysql cakephp frameworks

我有一个 Profile 模型,与 Detail 模型具有 hasOne 关系。我有一个注册表单,将数据保存到两个模型的表中,但我希望将配置文件模型中的用户名字段复制到
详细信息模型中的用户名字段,以便每个用户都具有相同的用户名

function new_account()
{
    if(!empty($this->data))
    {
        $this->Profile->modified = date("Y-m-d H:i:s");                 
        if($this->Profile->save($this->data))
        {
            $this->data['Detail']['profile_id'] = $this->Profile->id;
            $this->data['Detail']['username'] = $this->Profile->username;

        $this->Profile->Detail->save($this->data);
        $this->Session->setFlash('Your registration was successful.');

                    $this->redirect(array('action'=>'index'));
        }
    }

}

我的配置文件 Controller 中的这段代码给了我错误:

Undefined property: Profile::$username

有什么想法吗?

最佳答案

您应该能够简单地将 $this->Profile->username 替换为 $this->data['Profile']['username']

您还可以将 $this->Profile->save($this->data) 的结果存储在本地变量中,然后您可以从中提取用户名,特别是如果用户名可能例如,在 beforeSave() 回调中进行更改。

您收到的错误消息是正常的。 CakePHP 不会自动创建与列名相对应的属性。

关于php - 想要将表单中的数据字段保存到两个模型的两列中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3042099/

相关文章:

php - jQuery Ajax 返回整个页面

mysql - Sails JS - 动态连接到 MySQL 数据库

mysql - 如何使用MYSQL插入命令将图像添加到phpmyadmin的表中?

php mysqli 获取数据并将两个变量除以Fixed(2)/两位小数

php - 使用 Jquery 设置页面特定的标题图像

mysql - 列名宽度会影响 Microsoft SQL Server/Oracle/MySQL 中的 SQL 查询性能吗?

php - cakephp文件下载链接

cakephp - 使用 CakePHP 在 Ratchet 上处理模型推送行为的问题

php - 在 cakephp 中查询所需的 mySql 建议

php - Codeigniter 2 多重连接和where语句