【问题标题】:Property [categories] does not exist on this collection instance. (View: D:\xampp\htdocs\olshop\resources\views\backend\product\index.blade.php)此集合实例上不存在属性 [类别]。 (查看:D:\xampp\htdocs\olshop\resources\views\backend\product\index.blade.php)
【发布时间】:2020-08-08 18:10:33
【问题描述】:

这是我的模特

//relation from model products to model categorys
public function categorys()
{
    return $this->belongsTo('App\Category');
}

这是我的控制器

 public function index()
{
    //controller buat manggil foreachnya
    $data['title'] ='Product';
    $data['page'] = 'Semua Product';
    $data['products'] = Product::all();
    return view('backend.product.index', $data);
}

**这是我的**

                @foreach($products->categorys as $key => $value)
                <tr>
                    <!-- view bladenya  -->
                    <td>{{$key+1}}</td>
                    <td>{{$value->category_id->category}}</td>
                    <td>{{$value->product}}</td>

我正在尝试使用 $products->$categorys 但它出错了

【问题讨论】:

  • 您似乎没有使用标准表名。你能分享你的类别架构和模型吗?
  • 您有拼写错误。它应该拼写为categories。 Laravel 猜测表格的复数形式。您可以指定使用不同的名称。

标签: laravel laravel-5 eloquent laravel-4


【解决方案1】:

首先,您需要对产品执行 foreach 循环,然后为每个产品在类别上执行 foreach 循环。意思是:

@foreach($products as $product)
...
     @foreach($product->categories as $category)
        //You have list of categories for each product here
     @endforeach
...
@endforeach

【讨论】:

  • 应该是 $products 而不是 $data['products'] ?
【解决方案2】:

您需要按以下方式更改您的代码:

从模型 categorys() 中删除重复的函数,并将现有函数名称更改为 public function categories()

在您的控制器中更改您的行如下:

return view('backend.product.index')->with($data);

在您的刀片文件中,您可以按如下方式访问它:

@foreach($products->categories as $category)
  // Now You can access categories for each product here
@endforeach

【讨论】:

    【解决方案3】:
    In your controller: 
    
    public function index()
    {
        $data['title'] ='Product';
        $data['page'] = 'Semua Product';
        $data['products'] = Product::all()->with('categorys');
        return view('backend.product.index, $data);
    }
    
    In your blade file :
    
    @foreach($products as $product)
        <tr>
            <td>{{ $product->id }}</td>
            @if(!is_null($product->category))
               <td>{{ $product->category }}</td>
            @endif
            <td>{{ $product->product }}</td>
        </tr>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-08-06
      • 2019-08-29
      • 2023-03-10
      • 1970-01-01
      • 2021-08-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多