让我们说我有一个消息线程(社交网络中的常见事情)包括不同的项目,如

  • 短信
  • 语音消息
  • 图像
现在有一个查询将是有用的,该查询会查询像

这样的所有线程

thread->threadItems->orderBy('created_at')->get()

要在客户端上显示项目,我需要知道它们的哪种类型,所以我需要将类附加到查询上的模型。

有没有办法在eloquent中这样做?我考虑了多态关系,因为它们包括桌子中的课程。由于上面的类型是所有线程,但没有公共属性,我会在数据库层上拆分模型,因此每种型号接缝具有一个表格合理。

有没有办法可以优雅地做到这一点?

有帮助吗?

解决方案

Laravel 4.1将引入多对多多态性关系。然后,您可以介绍一个“父”消息模型,它与“子”文本消息,语音消息和图像中的多态物质?

这里可以找到一些相关信息:

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top