Laravel 多态关系:分配父类并获取子类集合

Laravel 多态关系:分配父类并获取子类集合,laravel,eloquent,Laravel,Eloquent,我目前正在与多态关系作斗争。我想要归档的是多种类型的可附加对象(视频、照片等),我可以将其附加到多个其他对象(事件、帖子),如下所示: 我希望能够将照片和视频附加到帖子或活动,然后通过:$post->attachments()接收照片和视频集合 附件应存储在如下表中: attachable_type | attachable_id | attachment_type | attachment_id =========================================

我目前正在与多态关系作斗争。我想要归档的是多种类型的可附加对象(视频、照片等),我可以将其附加到多个其他对象(事件、帖子),如下所示: 我希望能够将照片和视频附加到帖子或活动,然后通过:$post->attachments()接收照片和视频集合

附件应存储在如下表中:

attachable_type |   attachable_id   |   attachment_type |   attachment_id
=============================================================================
Post            |   1               |   Photo           |   1
Post            |   1               |   Photo           |   2
Post            |   2               |   Video           |   1
Event           |   1               |   Photo           |   3
Event           |   1               |   Video           |   2

谢谢你的帮助

你有没有想出解决办法?这已经不是我第一次想做类似的事情了,而且似乎到处都没有文档化的解决方案。不,不幸的是没有。但我还是很好奇。我读到一篇关于筛选类型值的解决方法的文章。我认为它是在附件中实现的,一次过滤照片,一次过滤视频,并返回了合并的收藏。不知道它到底是怎么工作的。我没有给它加书签。如果子类具有与父类相同的字段,那么您可能会感兴趣:我刚刚发现了这一点,这暗示了一个解决方案,即使用多个表实现一级继承: