检查 Symfony2 中是否有对象与集合中的另一个对象匹配;通知
Check if there is a Object matching another one from a Collection in Symfony2; Notifications
我想在我的项目中获得一些帮助。
我有一个游戏(比赛)列表,要求每个参与的用户采取一些行动(批准分数、接受邀请等)
我想做的是创建一个单独的实体来保存通知,通知用户他们应该做什么。例如
"You were invited to match X - go to the match to accept the invite"
虽然我知道该怎么做,但我遇到了一个不同的问题。
我想 "highlight" 列出需要用户操作的匹配项。最好的方法是什么?鉴于比赛是一个单独的实体,通知也是如此。
在一些假设下工作,很遗憾我无法澄清(总有一天,我会成为真正的贡献者!):
User
实体与 1:M 关系:Notification
、Games
Game
实体 'Invite' 触发了一个事件,该事件被订阅并为受邀的 User
添加了一个 Notification
基于此,我建议以下之一:
- 如果所有通知都是由于实体的操作而生成的,请使用某种
NotificationTriggerInterface
和 getId
方法。将 Game
id 与该 id 进行比较。
- 如果您想引用任何实体的唯一属性,可能不是特别可靠。 (阿拉:
notification->getTrigger()->getMyEntityUniqueProperty()
)
- 如果没有,您可以考虑为
Notification
使用 Interface & subclass 方法:
- 将
Notification
class定义为接口,concrete/defaultclass。
- 在 Twig 模板中循环时,将 'type' 属性 添加到界面以确保完整性,而不是多次
instanceof
检查。
- 有一个扩展默认值的
GameNotification
class。在里面加一个Game
属性。
- 只要
Game
是通知的发起者,就创建此通知的实例。
还有其他不那么令人满意的选项(丰富的模板逻辑),但希望其中之一能够很好地发挥作用。
我想在我的项目中获得一些帮助。
我有一个游戏(比赛)列表,要求每个参与的用户采取一些行动(批准分数、接受邀请等)
我想做的是创建一个单独的实体来保存通知,通知用户他们应该做什么。例如
"You were invited to match X - go to the match to accept the invite"
虽然我知道该怎么做,但我遇到了一个不同的问题。
我想 "highlight" 列出需要用户操作的匹配项。最好的方法是什么?鉴于比赛是一个单独的实体,通知也是如此。
在一些假设下工作,很遗憾我无法澄清(总有一天,我会成为真正的贡献者!):
User
实体与 1:M 关系:Notification
、Games
Game
实体 'Invite' 触发了一个事件,该事件被订阅并为受邀的User
添加了一个
Notification
基于此,我建议以下之一:
- 如果所有通知都是由于实体的操作而生成的,请使用某种
NotificationTriggerInterface
和getId
方法。将Game
id 与该 id 进行比较。- 如果您想引用任何实体的唯一属性,可能不是特别可靠。 (阿拉:
notification->getTrigger()->getMyEntityUniqueProperty()
)
- 如果您想引用任何实体的唯一属性,可能不是特别可靠。 (阿拉:
- 如果没有,您可以考虑为
Notification
使用 Interface & subclass 方法:- 将
Notification
class定义为接口,concrete/defaultclass。 - 在 Twig 模板中循环时,将 'type' 属性 添加到界面以确保完整性,而不是多次
instanceof
检查。 - 有一个扩展默认值的
GameNotification
class。在里面加一个Game
属性。 - 只要
Game
是通知的发起者,就创建此通知的实例。
- 将
还有其他不那么令人满意的选项(丰富的模板逻辑),但希望其中之一能够很好地发挥作用。