2015-09-25 38 views
2

我想从用户表中获取行并将其与articles.user_id = users.id和articles.view是最大的Articles表连接起来。 ('a.view','=',?);''有问题' - > where('a.view','=',?);'部分。 我感谢您的帮助! :)Laravel 5雄辩连接基于字段最大值

+0

找到更多的信息,我不能看到,要在where子句,但在您选择的最大值SELECT MAX(列)FROM TABLE_NAME查询本身; – patricio

回答

0
public function scopeMostViewedArticle($query) 
{ 
    $query->leftjoin('articles as a', function ($join) { 

      $join->on('a.user_id','=','users.id') 
        ->where('a.publish_date', '<',date('Y-m-d H:m')) 
        ->max('a.view'); 
      }) 
     ->groupby('users.id') 
     ->orderby('users.id') 
     ->select('users.*','a.title as article_title','a.image as article_image'); 

} 

您可以在 http://laravel.com/docs/5.1/queries

+0

谢谢你的回应。我之前尝试过,但它说'调用未定义的方法Illuminate \ Database \ Query \ JoinClause :: max()' – SomethingElse