嗨,我有三个实体User
,Admin
,Log
管理员和用户都有许多日志。每个日志有一个所有者可能是User
可能是Admin
。
在本例中,我正在Symfony Doctrine
中寻找与Laravel Elequent One To Many (Polymorphic)
类似的系统来实现。
但是,我不想让每个AdminLog
或UserLog
扩展Log
或使用ManyToMany
方法。
在Laravel中,我们在迁移中使用morphTo
和morph
来声明一个多态实体。
我在Admin
和User
实体中尝试了logable_type
和logable_id
来模拟这种情况
我想在Symfony类似的机制,但如果有更好的解决方案或方式,或者它只是不是最佳做法,让我知道这是更好的
1条答案
按热度按时间nzk0hqpo1#
你可以做的是在你的User和Admin类上实现一个接口。
接口:
字符串
Admin和User类:
型
在Log类中,您可以简单地与LoggerInterface类建立OneToMany关系。
型
在Admin和User类中:
型