消息和文件模型属于对话。 消息和文件都有一个创建的DATETIME字段。
我想根据创建的日期选择属于特定会话的所有邮件和文件,并将它们放入同一个Feed中。
如何?
这就是我的尝试。
headAndSelf(yourList){(h,l) => whatever}
它就像任何不是时间对象的字段上的魅力,例如id。
我已阅读此问题Combining lists of data from Multiple Models and sort them by date created in cakephp
但是因为cakephp 3将datetime转换为时间对象,所以我无法让Hash :: sort工作。
一种方法是,如果可以以某种方式关闭时间对象。这对我来说更麻烦。
有什么建议吗?
答案 0 :(得分:1)
有什么建议吗?
将您的文件直接链接到messages
表,而不是将它们链接到对话。您可以使用消息正文字段(或任何您调用保存消息的字段)将任何数据序列化到其中(例如,如果您想稍后翻译值)或者只是在其中包含文本字符串“Foo send File栏“。
如果您在消息表中添加message_type
字段,则可以使用该字段中的字符串来标识消息类型,例如system
。
您当前的架构只是在数据库和应用程序级别上使它非常复杂,比必要复杂得多。