在控制器中得到这样
$users = DB::table('user_items as ui') ->select('count',DB::raw("group_concat(name SEPARATOR ', ') as names")) ->from(DB::raw('(select count(*) as count,u.username as name from user_items ui join users u on u.id=ui.user_id group by u.id) a')) ->groupBy('count') ->orderBy('count','desc') ->get();$data['users']=$users;return View::make('hello',$data);在视图中使用刀片
@foreach($users as $user) <li>{{$user->count.':'. $user->names}}</li>@endforeach如果希望不显示任何项目的用户,则可以查询
$users = DB::table('users as u') ->select('count',DB::raw("group_concat(name SEPARATOR ', ') as names")) ->from(DB::raw('(select count(ui.item_id) as count,u.username as name from users u left join user_items ui on u.id=ui.user_id group by u.id) a')) ->groupBy('count') ->orderBy('count','desc') ->get();要单独显示名称,请在前面添加以下代码
$data['users']=$users;
foreach($users as $user){ $user->names=explode(', ',$user->names); }而在刀片中,您可以
<ul> @foreach($users as $user) <li> <span>{{$user->count}}:</span> @foreach($user->names as $index=>$name) <span><a href="#">{{$name}}</a> @if($index!=count($user->names)-1) ,@endif </span> @endforeach </li> @endforeach</ul>


