Laravel通过orderBy和join获取最新记录


Laravel get latest record with orderBy and join

我想获得最新的记录与join 2表。但在我下面的代码我得到错误:

Query builder:

$latestJournal = DB::table('journals')
                            ->join('journalslists',function($join){
                                $join->on('journalslists.journalCategory', '=', 'journals.id');
                            })
                            ->order_by('journals.id', 'desc')->first();
MySql命令(我需要这个命令):
SELECT *
FROM `journals`
INNER JOIN `journalslists` ON `journalslists`.`journalCategory` = `journals`.`id`
ORDER BY journals.id DESC
LIMIT 1 

我得到这个错误:

BadMethodCallException
Call to undefined method Illuminate'Database'Query'Builder::order_by()

异常告诉您问题所在:order_by方法未定义,正确的方法是orderBy。下面是一个基于Laravel查询生成器文档的示例:

$users = DB::table('users')
                ->orderBy('name', 'desc')
                ->get();

更多关于laravel文档的信息:http://laravel.com/docs/queries#selects

$latestJournal = DB::table('journals')
                 ->join('journalslists','journalslists.journalCategory', '=','journals.id');
                 ->order_by('journals.id', 'desc')
                 ->first();