2016-09-17 1 views
0

Я хочу показать первые 5 самых популярных пользователей, как это: User1 (5 сообщений) User5 (3 Сообщения) User2 (2 Сообщения) .... - in my AppServiceProvider.phpПоказать пользователей с большинством сообщений в laravel 5.2

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); 
} 

, но я получаю эту проблему:

FatalErrorException in AppServiceProvider.php line 18: syntax error, unexpected '‌​‌​‌​‌​' (T_STRING)

ответ

0

Ошибка из SQL синтаксической ошибки изменить $ пользователей

$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 ($ пользователей), прежде чем разобрать их внутри файла лезвия

+0

Это дает мне некоторую ошибку: синтаксическая ошибка, неожиданная '' (T_STRING) Я пробую это: view() -> composer ('questions.side', function ($ view) {$ users = User :: leftJoin ('questions', 'users.id', '=', 'questions.user_id') -> select Raw ('users. *, Count (questions.user_id) AS total') -> groupBy ('users.id') -> orderBy ('total', 'DESC') -> skip (0) -> взять (5) -> получить(); \t \t \t $ view-> с ('users', $ users); }); Не сработал ... –

+0

Вы пытались изменить код на то, что я набрал для вас? ваш код имеет синтаксическую ошибку, он не будет работать так – Nour

+0

Я изменил код, который, как мне кажется, не нужен для группировки, потому что вам нужна одна строка для каждого пользователя – Nour

Смежные вопросы