我可以使用复合键将ManyToOne转换为OneToOne关系吗?

时间:2018-04-17 10:08:40

标签: symfony doctrine-orm sonata-admin

我试图根据谁登录并根据上次完成的操作来订购实体列表。

例如,我以管理员A身份登录,在人员列表中,我正在用户C的个人资料中执行某些操作。

我需要的输出是:

  • for admin A:人们这样订购:C - A - B - D -E ......
  • 对于其他管理员:人们这样订购:A - B - C - D ......

为了做到这一点,我做了一个看这些属性的表:

  • id:自动生成
  • adminId
  • 用户id
  • DateOfLastAction

在2个表(mappedBy:userId,由iD反转)之间链接OneToMany(一个用户 - >多个订单),因为给定用户可以有不同的" DateOfLastAction"根据执行操作的adminID。

现在问题是当我想通过DateOfLastAction订购我的用户时,由于OneToMany关系,我无法完成。

(与此post中的给定答案一样)

所以最好将它转换为* ToOne实现。复合主键会帮助我吗?有人知道更好的设计吗?

0 个答案:

没有答案