Laravel政策删除分页

时间:2018-01-06 20:56:04

标签: php laravel

我有一个laravel 5.5的项目和我的用户的创建策略没有看到其他用户发布的内容和我的管理员但是在我的刀片中创建了我的@can我不知道如果用户没有删除pagniation有足够的帖子。

Post::orderBy('created_at')->paginate(10);

在我的刀片中我这样做

@foreach($posts as $post)
         @can('view', $post)
               <tr>
                   <th scope="row">1</th>
                   <td>{{$post->title}}</td>
                   <td>{{$post->status}}</td>
               </tr>
        @endcan
@endforeach

{{ $jobs->links() }}

在我的代码中我有superAdmin和Admin端这个用户可以看到所有帖子所以我不能那样做

Post::where('user_id', $id)->orderBy('created_at')->paginate(10);

而且我不想制作像这样的代码

if(Auth::user()->isSuperAdmin() || Auth::user()->isAdmin())
   Post::orderBy('created_at')->paginate(10);
else{
   Post::where('user_id', $id)->orderBy('created_at')->paginate(10);
}

因为我使用这个政策有很多地方

1 个答案:

答案 0 :(得分:1)

政策无法删除分页。如果只有一页结果,Laravel会隐藏分页链接。

此外,您应该修复的代码中存在大量错误:

而不是$$post)

@foreach($posts as $post)

而不是{{ $jobs->links() }}

{{ $posts->links() }}

而不是:

Post::where('user_id', $id)orderBy('created_at')->paginate(10);

这样做:

Post::where('user_id', $id)->orderBy('created_at')->paginate(10);

而不是else{

} else {