我的模型产品如下:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Product extends Model
{
//
public function Category(){
return $this->belongsTo('App\Category');
}
public function size_unit(){
return $this->belongsTo('App\size_unit', 'size_unit');
}
}
size_units表具有两列:id,unit 产品表的size_unit列是外键,引用了size_units表上的ID
当我尝试使用以下方法访问产品的单位列时:
{{ $product->size_unit->unit }}
我收到以下错误:
“试图获取非对象的属性'unit'”
但是当我使用时:
{{ dd($product->size_unit() }}
我可以看到关联->属性下的单位,所以我尝试使用:
$product->size_unit()->unit
我收到以下错误:
“未定义的属性:Illuminate \ Database \ Eloquent \ Relations \ BelongsTo :: $ unit”
我正在使用with('size_unit)
请告诉我哪里出了问题以及如何解决?
答案 0 :(得分:0)
将size_unit
类重命名为SizeUnit
,您的关系应如下所示。
public function category(){
return $this->belongsTo('App\Category');
}
public function sizeUnit(){
return $this->belongsTo('App\SizeUnit', 'size_unit');
}
您应该像这样访问sizeUnit属性:
dd($product->sizeUnit);