orderBy在Laravel 5中不起作用

时间:2015-07-24 10:21:12

标签: php mysql laravel-5

我正在使用以下查询。 orderBy 在以下查询中无效。此查询在localhost中有效,但在Online Server中无效。

return DB::table('reports')
        ->leftJoin('sources', 'reports.report_source_id', '=', 'sources.id')
        ->select('*')
        ->orderBy('report_id', 'desc')
        ->take(10)
        ->get();

3 个答案:

答案 0 :(得分:2)

尝试为每个表设置别名,然后在orderBy上使用所需的别名

如果两个表中都有report_id,它将不知道使用哪一个,如果您查找它可能会引发错误。

return DB::table('reports as r')
    ->leftJoin('sources as s', 'r.report_source_id', '=', 's.id')
    ->select('*')
    ->orderBy('r.report_id', 'desc')
    ->take(10)
    ->get();

答案 1 :(得分:2)

试试这个.. 使用" reports.report_id";

return DB::table('reports')
        ->leftJoin('sources', 'reports.report_source_id', '=', 'sources.id')
        ->select('*')
        ->orderBy('reports.report_id', 'desc')
        ->take(10)
        ->all();

答案 2 :(得分:0)

尝试使用reports.report_id,如

return DB::table('reports')
        ->leftJoin('sources', 'reports.report_source_id', '=', 'sources.id')
        ->select('*')
        ->orderBy('reports.report_id', 'desc')
        ->take(10)
        ->get();