Laravel:一个是多关系,获得外键价值

时间:2016-09-07 12:54:25

标签: php laravel-5.2

我目前正在处理产品类别和产品关系 这是一个是很多。 我想知道为什么我有这个错误

  

调用未定义的方法stdClass :: products()

这是我的产品型号

<?php

namespace App;
use Illuminate\Database\Eloquent\Model;
class Product extends Model
{
  public $table = "products";
  public $fillable = ['productcategory_id',
                    'name',
                    'description',
                    'price',
                    'pic',
                    'availability',
                    'featured',
          ];
  public function productcategory()
  {
      return $this->belongsTo('App\ProductCategory');
  }
}

这是我的产品类别模型

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class ProductCategory extends Model
{
  public $table = "productcategories";
  public $fillable = ['name',
                    'description',];
  public function products(){
      return $this->hasMany('App\Product','productcategory_id','id');
  }
}

并且这是我的观看文件

@foreach($productcategories as $productcategory)
   @foreach($productcategory->products() as $product)

     {{ $product->name }}

    @endforeach
 @endforeach

请帮助我,我一直都会收到此错误。

1 个答案:

答案 0 :(得分:0)

这里只是在黑暗中拍摄,但我会先从$ productcategory-&gt; products()中删除视图文件中的括号。如果这不能解决问题,请在您的Controller中使用dd($ productcategories)并验证您是否正在传递ProductCategory的Collection,因为我不希望产生的错误包含对“stdClass”的引用。