在laravel中订购三种不同且不相关的模型



我有三个不同的模型,我想过滤它们,并按创建日期将它们返回到同一对象中。问题是过滤器必须同时应用于所有型号,而不是成功应用于每个型号。以下是我的三个型号,我不知道如何继续,需要的帮助

$quick = Model::with('user')->orderByDesc('id')->get();
$simple = Models::with('user')->orderByDesc('id')->get();
$suivi = Modelss::with(['user', 'position'])->orderByDesc('id')->get();

如果模型之间没有链接,并且您希望通过将它们全部排序来检索数据。您需要为此使用"集合"。

在你的3行代码之后你能做的是:

$quickSimpleMerged = $quick->merge($simple);
$merged = $quickSimpleMerged->merge($suivi);
$result = $merged->all();

现在您有了一个集合,其中包括来自您的3个模型的所有数据,您可以简单地运行:

$result->sortByDesc('created_at');

相关内容

最新更新