在laravel 5中显示最多帖子的用户

时间:2016-09-21 17:14:15

标签: laravel-5 laravel-5.2 laravel-query-builder

我想向用户展示最多帖子,那就是我要做的事情.. 我在AppServiceProvider.php中尝试这个:

file.name

在我的侧视图中:

view()->composer('questions.side2', function($view){
        $m = 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('m', $users); 
    });

但我仍然有这个错误: 未定义的变量:m(查看:C:\ wamp \ www \ qq \ resources \ views \ questions \ side.blade.php)(查看:C:\ wamp \ www \ qq \ resources \ views \ questions \ side.blade。 PHP)

1 个答案:

答案 0 :(得分:1)

您正在以错误的方式共享变量,因为"使用"函数需要一个数据数组,而且,您正在共享一个错误的变量名。

变量必须像这样传递:

$view->with([
   'm' => $users
]);

或使用compact()方法,必须$users更改为$m

$view->with(compact('m')); //Or => $view->with(['m' => $m])