dousu1916 2014-08-31 18:44
浏览 61
已采纳

ManyToOne关系+如何在两个方向上使用

I have 2 tables like this:

Users
    - UserID
    - Username
    - Password
    - ...
 Players
    - playerID
    - playerName
    - ...
    - User

The relation is ManyToOne (see the picture) and it's not required.

enter image description here

I've generated my entities automatically with Doctrine. In my player Entity I have:

 /**
 * @var \NV\VolleyScoutBundle\Entity\Users
 *
 * @ORM\ManyToOne(targetEntity="NV\VolleyScoutBundle\Entity\Users")
 * @ORM\JoinColumns({
 *   @ORM\JoinColumn(name="user_id", referencedColumnName="user_id")
 * })
 */
protected $user;

But I don't have a $player variable in my Users Entity. In what way can I add this? Tried to do this but gave me different errors. What I'm trying to do is add a player form to my register form.

So in my RegisterType (=form) I woud like to add ->add('player', new PlayerType()). But that's not possible without a $player variable in my Users entity.

What type of relation do I need to setting for $player in my Users entity?

  • 写回答

1条回答 默认 最新

  • doubiao7410 2014-08-31 19:47
    关注

    You have to add annotation in user entity.

    In Player Enity

    @ORM\OneToMany(targetEntity="Players", mappedBy="user")
    protected $player;
    

    In User Entity:

    @ORM\ManyToOne(targetEntity="Users", inversedBy="player")
    @ORM\JoinColumn(name="user_id", referendecColumn="UserId")
    proteced $user;
    

    This is only a draft. You have to write full namespaces for target entities, and correct errors if there are some.

    A lot of setails you can find here: Doctrine documentation - working with association

    Try to use small caps for table names, because MySQL under linux doesn't like uppercaps. $player must be instance of ArrayCollection

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题