php - 从多个表中排序数据

时间:2015-05-01 04:56:36

标签: php mysql laravel

content1{id, var1, var2, var3, created_at}
content2{id, var1, created_at}
content3{id, var1, var2, var3, va4, created_at}

我加入了3个表,但我想按created_at进行排序和显示。 通过连接表,我从所有3个内容中获取值,如何仅从我需要的内容表中流失数据。 这样做的最佳建议是什么?

非常感谢。

2 个答案:

答案 0 :(得分:1)

联接中字段的自定义声明。并使用内连接。 所以

Select a.a, a.b ... etc ... innerjoin  b.a as a1, b.b as a2 ... etc ... on a.a = b.a 

然后你有可能按a1排序。例如。

答案 1 :(得分:0)

您可以在桌面上进行多次加入。

如果需要,则按方法分组,如下所述

 $records = ModelName::select('table1.id','table1.var1')
                            ->join('table2', 'table2.id', '=', 'table1.id')
                            ->join('table3', 'table3.id', '=', 'table1.id')
                            ->where('table1.var2', '=', 1)
                            ->orderBy('table3.created_at', 'ASC')
                            ->get();