如何解决Laravel 分页不存在
方法 Illuminate\Database\Eloquent\Collection::pagination 不存在。
我正在使用 laravel 和 livewire。
这是我的代码
$products = $this->category->products->pagination(10);
这是在我的类别模型中
public function products()
{
return $this->hasMany(Product::class);
}
更新
这是我的 livewire 的全部代码
<?PHP
namespace App\Http\Livewire\Categories;
use Illuminate\Pagination\Paginator;
use Livewire\Component;
class Show extends Component
{
public $category;
public function render()
{
$products = $this->category->products->paginate(10);
return view('livewire.categories.show',['category' => $this->category,'products' => $products]);
}
}
和我的 livewire.categories.show 刀片文件
<table class="min-w-full divide-y divide-gray-200">
<tbody>
@foreach($products as $product)
<tr>
<td>
{{ $product->name }}
</td>
</tr>
@endforeach
</tbody>
</table>
<div>
{{ $products->links() }}
</div>
解决方法
您忘记使用 Livewire docs 中所述的 WithPagination
特征。
<?php
namespace App\Http\Livewire\Categories;
use Illuminate\Pagination\Paginator;
use Livewire\Component;
use Livewire\WithPagination;
class Show extends Component
{
use WithPagination;
public $category;
public function render()
{
$products = $this->category->products()->paginate(10);
return view('livewire.categories.show',['category' => $this->category,'products' => $products]);
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。