首页 > 解决方案 > Laravel 一对多多态 - 一对多(模型)

问题描述

所以,我已经搜索了很长时间,这里没有一个答案与这个查询匹配。

我有一个频道,每个频道可以有多种类型的流,每种类型都是不同的模型。每个流只能属于一个频道。 架构?

所以它是一对多的关系,一个通道有许多不同类型的流,但每个流只属于一个通道。

我知道需要多态关系来断言它是哪个流模型,但是,我到底如何将通道链接到每个流?

我可以channel_id在每个流模型表中都有字段,但是我将如何通过通道模型将它们全部获取?好吧,这就是需要多态关系的地方,但它是如何应用的呢?我能想到的唯一方法是包含channel_id, stream_id, stream_type. 架构的数据透视表? 但是,这使它成为多对多关系,不是吗?!我将如何访问它?$channel->stream->streamable甚至最糟糕的是,我将如何设置它?将流保存到 Stream 并将 Stream 附加到 Channel 和?

任何想法如何最好地实施这样的事情?

标签: laraveleloquentpolymorphismlaravel-5.7

解决方案


推荐阅读