我设置了一个视图编辑器,并在使用
进行分页时将视图数据共享给侧边栏。User::paginate(1)
并将$ users-> links放入刀片中,它表示未找到链接,但在我使用时
User::all()
它可以正常工作,并且不会出错,但是我无法对表进行分页,我看不到错误的出处。这是错误显示:
调用未定义的方法App \ User :: links()(查看: C:\ Users \ kaasv \ medialab \ resources \ views \ layouts \ sidebar.blade.php) (视图: C:\ Users \ kaasv \ medialab \ resources \ views \ layouts \ sidebar.blade.php) (视图: C:\ Users \ kaasv \ medialab \ resources \ views \ layouts \ sidebar.blade.php)
AppServiceProvider
use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Schema;
//use Illuminate\View\View;
use View;
//use App\Repositories\UserRepository;
use App\User;
class AppServiceProvider extends ServiceProvider
{
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
Schema::defaultStringLength(191);
View::share('user', User::paginate(1));
}
/**
* Register any application services.
*
* @return void
*/
public function register()
{
//
}
}
sidebar.blade.php
<h1>Alle Studenten</h1>
@if (Auth::check())
<table class="table">
<tr>
<th scope="col">#</th>
<th scope="col">Name</th>
<th scope="col">Student Number</th>
</tr>
@foreach($user as $users)
<tr>
<th scope="row">
{{$users->id}}
</th>
<th>
<a class="text-dark" href="/admin/leerling/{{ $users->id }}">
{{$users->name}}
</a>
</th>
<th>
{{$users->student_number}}
</th>
</tr>
@endforeach
</table>
{{ $users->links() }}
@endif
答案 0 :(得分:2)
首先,我不建议使用Laravel's View Composers
,因为它们会在每个视图上初始化,即使您使用@include
,@extends
等添加的视图也会被初始化。如果您从Composers共享的数据是从数据库中提取的,则性能会受到严重影响。
第二,paginate()
方法接受number of results to return
作为参数,这意味着仅返回1
的用户将解析为实际上拥有方法的Paginator
实例正在寻找:links()
,但是问题是您正在命名user
,在视图中访问users
的位置