- 前端
resources/views/user/show.blade.php
<a href="{{route('follower', $user)}}" class="btn btn-success">他的粉丝{{$user->follower()->count()}}</a>
<a href="{{route('following', $user)}}" class="btn btn-success">他的关注{{$user->following()->count()}}</a>
resources/views/layouts/default.blade.php
<a href="{{route('following', [auth()->user(), '1'])}}" class="btn btn-danger my-2 my-sm-0 mr-2">空间</a>
- 路由
Route::get('follower/{user}', 'FollowController@follower')->name('follower');
Route::get('following/{user}/{token?}', 'FollowController@following')->name('following');
'following/{user}/{token?}'
传递多个参数,并第二个参数可以不传
- 控制器
public function follower(User $user) {
$title = '他的粉丝';
$users = $user->follower()->paginate(10);
return view('follow.follow', compact('users', 'title'));
}
public function following(User $user, $token = '') {
if (!empty($token)) {
$title = '我的关注';
} else {
$title = '他的关注';
}
$users = $user->following()->paginate(10);
return view('follow.follow', compact('users', 'title'));
}
- 模板
@extends('layouts.default');
@section('content')
<div class="card">
<div class="card-header">
{{$title}}
</div>
<div class="card-body">
<table class="table">
<tbody>
@foreach($users as $user)
<tr>
<td>{{$user->name}}</td>
</tr>
@endforeach
</tbody>
</table>
</div>
<div class="card-footer text-muted">
{{$users->links()}}
</div>
</div>
@endsection