我有2个实体,用户和关注者。
/**
* @ORM\Entity
* @ORM\Table(name="users")
*/
class User extends BaseUser
{
/**
* @ORM\OneToMany(targetEntity="Follower", mappedBy="user")
*/
protected $followers;
/**
* @ORM\OneToMany(targetEntity="Follower", mappedBy="follower")
*/
protected $followings;
}
/**
* @ORM\Entity
* @ORM\Table(name="follows")
*/
class Follower
{
/**
* @ORM\ManyToOne(targetEntity="User", inversedBy="followers")
*/
protected $user;
/**
* @ORM\ManyToOne(targetEntity="User", inversedBy="followers")
*/
protected $follower;
}
用户具有关注者($ followers)和关注者($ followings)。
我不确定为什么,但是我的开发人员分析器说:
AppBundle \ Entity \ User#followings和AppBundle \ Entity \ Follower#follower的映射彼此不一致。
AppBundle \ Entity \ Follower#follower和AppBundle \ Entity \ User#followers的映射彼此不一致。
为什么它们容易感染,应该这样做?
在跟随者实体中,替换为:
/**
* @ORM\ManyToOne(targetEntity="User", inversedBy="followers")
*/
protected $follower;
和:
/**
* @ORM\ManyToOne(targetEntity="User", inversedBy="followings")
*/
protected $follower;
您可以使用命令doctrine:schema:validate来检查当前映射以获取有效的正向和反向映射。
PHP应用程序/控制台学说:模式:验证
希望有帮助
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句