为了账号安全,请及时绑定邮箱和手机立即绑定

未定义的变量:@foreach 中的产品

未定义的变量:@foreach 中的产品

PHP
慕姐4208626 2023-11-03 20:40:52
我在使用 Laravel 构建项目时遇到一些问题我想展示12 种以上的产品,但我不知道要更改什么。此仅显示12 个产品,我想要显示60 个产品。请帮我。我已经尝试了很多解决方案,但它不起作用。                            <div class="products-box-bar p-3 " >    <div class="row sm-no-gutters gutters-5">                                @foreach ($products as $product)                                            <div class="col-xxl-3 col-xl-4 col-lg-3 col-md-4 col-6" >            <div class="product-box-2 bg-white alt-box my-md-2" style="border: 1px solid #f1f1f1;border-radius: 8px;">                <div class="position-relative overflow-hidden">                    <a href="{{ route('product', $product->slug) }}" class="d-block product-image h-100 text-center" tabindex="0">                        <img class="img-fit lazyload" src="{{ asset('frontend/images/placeholder.jpg') }}" data-src="{{ asset($product->thumbnail_img) }}" alt="{{ __($product->name) }}">                        </a>                        <div class="product-btns clearfix">                            <button class="btn add-wishlist" title="Add to Wishlist" onclick="addToWishList({{ $product->id }})" type="button">                                <i class="la la-heart-o"></i>                            </button>                            <button class="btn add-compare" title="Add to Compare" onclick="addToCompare({{ $product->id }})" type="button">                                <i class="la la-refresh"></i>                            </button>                            <button class="btn quick-view" title="Quick view" onclick="showAddToCartModal({{ $product->id }})" type="button">                                <i class="la la-eye"></i>                            </button>                        </div>                    </div>
查看完整描述

2 回答

?
PIPIONE

TA贡献1829条经验 获得超9个赞

在您的 App\Http\ProductsController.php 或您用于从数据库获取产品的任何文件中,您应该看到一个函数paginate(12),将其更改为paginate(60)



查看完整回答
反对 回复 2023-11-03
?
慕勒3428872

TA贡献1848条经验 获得超6个赞

您的帖子标题有点令人困惑,因为它与您的描述不符,但我会尽力提供帮助!


未定义变量:$products


这很可能是由于控制器没有将变量传递给刀片模板。


在控制器中,确保将变量传递到视图,如下所示:


public function index() {

    // Your logic here

    return view('my-index', [

        'products' => $products

    ]);

}

分页限制


显示 12 个项目而不是 60 个是由于传递给paginate()控制器内的函数的限制。确保您已将其设置为60


public function index() {

    // Retrieve up to 60 products at a time

    $products = Product::paginate(60);


    return view('my-index', [

        'products' => $products

    ]);

}

衬里环


如果查询没有返回任何产品,您可能需要考虑使用@forelse循环而不是循环@foreach


@forelse($products as $product)

   // Display your products

@empty

   // Display a message saying no products were found

@endforelse


查看完整回答
反对 回复 2023-11-03
  • 2 回答
  • 0 关注
  • 99 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信