首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何根据特定类别的laravel-7对产品进行分页

如何根据特定类别的laravel-7对产品进行分页
EN

Stack Overflow用户
提问于 2020-08-10 14:42:24
回答 2查看 1.2K关注 0票数 1

我试图查看检索一个类别中的所有产品,并将它们分页到页面中。

我能够将所有产品都包含在任何类别中,并且工作正常,但是当我试图对它们进行分页时,它会抛出以下错误:

不存在Illuminate\Database\Eloquent\Collection::links

方法。(浏览: C:\xampp\htdocs\E-Commerce\resources\views\pages\products.blade.php).

这是我的密码。

代码语言:javascript
复制
public function show(Category $category, Request $request)
{
    $categories = Category::where('id', $request->category->id)->paginate(12);
    
    return view('pages.products')->with([
    'categories' => $categories,
]);

这是我的看法。

代码语言:javascript
复制
@extends('layouts/default')

@section('title', '| Products')
@section('content')

    @forelse ($categories as $category)
        <h1 class="text-center">{{ $category->name }}</h1>
        <div class="row mt-5 m-5">
            @foreach ($category->products as $product)
                <div class="cols m-4 shadow-lg product product-box"> 
                    <a href="">
                        <h4 class="text-center">{{ $product->name }}</h4>
                        <img class="m-auto" src="{{ asset('images/welcome2.jpg') }}" width="150px">
                        <br>
                        <small class="text-center">{{ $product->details }}</small>
                        <br>
                        <h6 class="float-right mr-1">&dollar; {{ $product->price }}</h6>
                    </a>
                </div>
            @endforeach   
            {{  $category->products->links()  }}
        </div>
    @empty
        <h1>There are no categories yet!</h1>
    @endforelse
    

@endsection
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-08-10 15:16:59

您在类别上添加分页,而不是在产品上添加分页。请试试这段代码

代码语言:javascript
复制
public function show(Category $category, Request $request)
{
    $category = Category::where('id', $request->category->id)->first();
    $products = $category->products()->paginate(15);
     
    return view('pages.products')->with([
    'products' => $products,
    'category' => $category'

]);

在你看来

代码语言:javascript
复制
@extends('layouts/default')

@section('title', '| Products')
@section('content')

        <h1 class="text-center">{{ $category->name }}</h1>
        <div class="row mt-5 m-5">
            @foreach ($products as $product)
                <div class="cols m-4 shadow-lg product product-box"> 
                    <a href="">
                        <h4 class="text-center">{{ $product->name }}</h4>
                        <img class="m-auto" src="{{ asset('images/welcome2.jpg') }}" width="150px">
                        <br>
                        <small class="text-center">{{ $product->details }}</small>
                        <br>
                        <h6 class="float-right mr-1">&dollar; {{ $product->price }}</h6>
                    </a>
                </div>
            @endforeach   
            {{  $products->links()  }}
        </div>
    

@endsection
票数 2
EN

Stack Overflow用户

发布于 2020-08-10 15:01:05

正确的方法:

代码语言:javascript
复制
<?php

namespace App\Http\Controllers;

use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\DB;

class UserController extends Controller
{
    public function index()
    {
        $users = DB::table('users')->paginate(15);
        return view('user.index', ['users' => $users]);
    }
}

此外,您还可以使用简化:

代码语言:javascript
复制
$users = User::where('votes', '>', 100)->simplePaginate(15);

其结果是:

代码语言:javascript
复制
<div class="container">
    @foreach ($users as $user)
    {{ $user->name }}
    @endforeach
</div>
{{ $users->links() }}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63342454

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档