【问题标题】:Display users with most posts in laravel 5.2在 laravel 5.2 中显示帖子最多的用户
【发布时间】:2016-09-17 14:05:11
【问题描述】:

我想显示帖子最多的前 5 个顶级用户,如下所示:User1 (5 Posts) User5 (3 Posts) User2 (2 Posts) .... – 在我的AppServiceProvider.php

view()->composer('questions.side', function($view){
$users = User::leftJoin('questions','user.id','=','questions.user_id'‌​‌​‌​‌​)
->selectRaw('‌​us‌​er‌​.*, count(questions.user_id) AS total')
->groupBy('users.id')
->orderBy('total','DESC')
->skip(‌​‌​‌​0)
->take(5)
->get‌​()‌​;

 $view->with('users', $users);

});

在我看来:

foreach($usersas $user) {
  var_dump($user);
}

但我遇到了这个问题:

AppServiceProvider.php 第 18 行中的 FatalErrorException:语法错误, 意外的“‌​‌​​​​​”(T_STRING)

【问题讨论】:

    标签: laravel laravel-5 laravel-5.2


    【解决方案1】:

    错误是因为sql语法错误 从

    更改您的 $users
    $users = User::leftJoin('questions','user.id','=','questions.user_id'‌​‌​‌​‌​)->selectRaw('‌​us‌​er‌​.*, count(questions.user_id) AS total')->groupBy('users.id')->orderBy('total','DESC')->skip(‌​‌​‌​0)->take(5)->get‌​()‌​;
    

    到这里

    $users = DB::table('users')->leftJoin('questions','user.id','=','questions.user_id'‌​‌​‌​‌​)->select('‌​us‌​er‌​.*', count('questions.user_id') 'AS total')->orderBy('total','DESC')->skip(‌​‌​‌​0)->take(5)->get‌​()‌​;
    

    我建议您在刀片文件中解析它们之前先使用 var_dump($users)

    【讨论】:

    • 它给了我一些错误:语法错误,意外'‌​‌​‌​‌​'(T_STRING)我试试这个:view()->composer('questions.side',函数($view){ $users = User::leftJoin('questions','users.id','=','questions.user_id'‌​‌​‌​‌​)->selectRaw('‌​us‌​ er‌s​.*, count(questions.user_id) AS total')->groupBy('users.id')->orderBy('total','DESC')->skip(‌​‌​‌​0)- >take(5)->get‌​()‌​; $view->with('users', $users); });没用..
    • 您是否尝试将代码更改为我为您输入的代码?你的代码有语法错误它不会像这样工作
    • 我已经修改了我认为不需要分组的代码,因为您希望每个用户都有一行
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-12-01
    • 2021-05-14
    • 2017-10-11
    • 1970-01-01
    • 2014-10-28
    • 2017-01-19
    • 2020-07-27
    相关资源
    最近更新 更多