Php 一对多关系主义获胜';t Save-完整性约束冲突

Php 一对多关系主义获胜';t Save-完整性约束冲突,php,doctrine-orm,zend-framework2,Php,Doctrine Orm,Zend Framework2,我正在尝试使用关联理论。我已经阅读了一些教程和在线文档,但它不起作用,老实说,我不确定我在这里做错了什么。看来我对教义的实验是一帆风顺的。任何协助都将不胜感激 我想要一个用户实体和UserHistory实体,一个用户有多行。对我来说,这听起来像是一个对许多人。我不一定需要它是双向的 我遇到的问题是,向用户添加历史记录项会在保存用户时导致错误,因为用户历史记录表中未设置用户id列 实体: #Entity\User.php 问题是您没有在历史记录类中设置用户实体。“关联”工具不会自动执行此操作 cl

我正在尝试使用关联理论。我已经阅读了一些教程和在线文档,但它不起作用,老实说,我不确定我在这里做错了什么。看来我对教义的实验是一帆风顺的。任何协助都将不胜感激

我想要一个用户实体和UserHistory实体,一个用户有多行。对我来说,这听起来像是一个对许多人。我不一定需要它是双向的

我遇到的问题是,向用户添加历史记录项会在保存用户时导致错误,因为用户历史记录表中未设置用户id列

实体:

#Entity\User.php

问题是您没有在历史记录类中设置用户实体。“关联”工具不会自动执行此操作

class UserHistory
{
    public function setUser($user) { $this->user = $user; }

class User
{
    public function addHistory($history)
    {
        $this->history->add($history);
        $history->addUser($this);  // *** This is what you are missing
    }

// In your controller class
$user->addHistory($history);

它不清楚什么用户历史记录实际上保存的历史记录;如果您希望它在任何给定时间保存用户的状态,那么您的方法将不起作用,因为它将始终引用最新的用户记录。很抱歉,我在示例中删除了两个实体中的所有字段以保持其干净。UserHistory将存储审计跟踪信息,如:“用户X在DateTime上做了Y”。”添加了一些内容“喜欢的东西”修改了一些东西!成功了。谢谢:-)欢迎。把我推过10公里重复赛的障碍。