首页 > 解决方案 > 收到错误:此集合实例上不存在属性 [prod_name]

问题描述

当我在 Laravel 中创建添加到购物车页面时,出现错误,

Exception
Property [prod_name] does not exist in this collection instance. (View: C:\xampp\htdocs\bizzcomputer\resources\views\cart.blade.php)

这是我的购物车控制器

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Product;
use App\Category;


class CartController extends Controller
{
    
    public function index()
    { 
         $products = Product::get();
         return view ('cart')->with(compact('products'));
    }

    
    public function create()
    {
        //
    }

    
    public function store(Request $request)
    {
        //
    }

    
    public function show($id)
    {
       $product = Product::find($id);
        return view('cart')->with(compact('product'));
   }

    
    public function edit($id)
    {
        //
    }

    
    public function update(Request $request, $id)
    {
        //
    }

  
    public function destroy($id)
    {
        //
    }
}

这是我的产品页面href到购物车页面。单击添加到购物车时,它会指向购物车页面。

 <div class="ml-md-3">
                                        <a href="{{route('cart',$product->id)}}" class="btn px-5 btn-primary-dark transition-3d-hover"><i class="ec ec-add-to-cart mr-2 font-size-20"></i> Add to Cart</a>
                                    </div>

这是我的路线。

web.php

Route::get('/cart/{id}', 'CartController@show')->name('cart');
Route::get('/cart', 'CartController@index')->name('cart');

可能是什么问题?有人请指导我找出这个吗?

标签: phplaravel

解决方案


集合中有很多产品$products,您需要循环访问它才能获得prod_name

@foreach($products as $product)
    <td data-title="Product">
        <a href="#" class="text-gray-90">{{ $product->prod_name }}</a>
    </td>
@endforeach

推荐阅读