Tig*_*ran 7 php doctrine symfony doctrine-orm
我有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;
}
Run Code Online (Sandbox Code Playgroud)
用户有关注者($粉丝)和关注者($ followers).
我不知道为什么,但我的开发者说:
映射AppBundle\Entity\User#followings和AppBundle\Entity\Follower#follower彼此不一致.
映射AppBundle\Entity\Follower#follower和AppBundle\Entity\User#followers彼此不一致.
为什么他们不存在而应该这样做?
Mat*_*teo 13
在Follower Entity中,替换为:
/**
* @ORM\ManyToOne(targetEntity="User", inversedBy="followers")
*/
protected $follower;
Run Code Online (Sandbox Code Playgroud)
有:
/**
* @ORM\ManyToOne(targetEntity="User", inversedBy="followings")
*/
protected $follower;
Run Code Online (Sandbox Code Playgroud)
您可以使用命令doctrine:schema:validate检查当前映射是否有效的正向和反向映射.
php app/console doctrine:schema:validate
希望这有帮助
| 归档时间: |
|
| 查看次数: |
7700 次 |
| 最近记录: |