另一个问题。我有一个抽象的 BaseLog 实体,它保持与我的用户的关联。此外,我有 2 个扩展 BaseLog 的实体(FooLog 和 BarLog)。此外,我有我的用户实体,假设它持有两个与日志的关联。一个用于 FooLog,一个用于 BarLog。这是我的问题。我收到错误消息,因为我不知道如何在扩展 Entity 时覆盖 BaseLog 的 inversedBy 字段。请你帮助我好吗。
因为我觉得我的解释不太好,这里是我的实体的设置。
基本日志
/** @ORM\MappedSuperclass */
abstract class BaseLog {
/**
* @ORM\ManyToOne(targetEntity="User", inversedBy="logs")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="user_id", referencedColumnName="id", nullable=true, onDelete="SET NULL")
* })
*/
private $user;
}
FooLog
/** @ORM\Entity */
class FooLog extends BaseLog {
// Some additional fields
}
条形记录仪
/** @ORM\Entity */
class BarLog extends BaseLog {
// Some additional fields
}
用户
/** @ORM\Entity */
class User {
/**
* @ORM\OneToMany(targetEntity="FooLog", mappedBy="user", cascade={"persist"})
*/
private $fooLogs;
/**
* @ORM\OneToMany(targetEntity="BarLog", mappedBy="user", cascade={"persist"})
*/
private $barLogs;
}
如何在FooLog和BarLog中覆盖BaseLog的inversedBy。
我在这个设置上遇到了几个映射错误:BaseLog
- BaseLog:关联BaseLog#user是指不存在的反边字段User#logs。
- FooLog:关联 FooLog#user 是指不存在的反边字段 User#logs。
- BarLog:关联 BarLog#user 是指不存在的反边字段 User#logs。
- 用户:映射 User#fooLogs 和 FooLog#user 彼此不一致。
- 用户:映射 User#barLogs 和 BarLog#user 彼此不一致。
请帮我整理我的映射。