dpmpa26468 2016-01-26 10:30
浏览 35
已采纳

Symfony - 映射彼此不一致

I have 2 Entities, User and Follower.

/**
 * @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;
}

User have followers ($followers) and followings ($followings).

I'm not sure why, but my dev profiler says:

The mappings AppBundle\Entity\User#followings and AppBundle\Entity\Follower#follower are inconsistent with each other.

The mappings AppBundle\Entity\Follower#follower and AppBundle\Entity\User#followers are inconsistent with each other.

Why they are incosistent and it should be done?

  • 写回答

2条回答 默认 最新

  • doushan9415 2016-01-26 11:07
    关注

    In the Follower Entity, replace this:

    /**
     * @ORM\ManyToOne(targetEntity="User", inversedBy="followers")
     */
    protected $follower;
    

    with:

    /**
     * @ORM\ManyToOne(targetEntity="User", inversedBy="followings")
     */
    protected $follower;
    

    You can use the command doctrine:schema:validate that checks the current mapping for valid forward and reverse mappings.

    php app/console doctrine:schema:validate

    Hope this help

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 在获取boss直聘的聊天的时候只能获取到前40条聊天数据
  • ¥20 关于URL获取的参数,无法执行二选一查询
  • ¥15 液位控制,当液位超过高限时常开触点59闭合,直到液位低于低限时,断开
  • ¥15 marlin编译错误,如何解决?
  • ¥15 有偿四位数,节约算法和扫描算法
  • ¥15 VUE项目怎么运行,系统打不开
  • ¥50 pointpillars等目标检测算法怎么融合注意力机制
  • ¥20 Vs code Mac系统 PHP Debug调试环境配置
  • ¥60 大一项目课,微信小程序
  • ¥15 求视频摘要youtube和ovp数据集