【发布时间】:2020-02-08 23:23:57
【问题描述】:
我的产品型号如下:
<?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 }}
我收到以下错误:
“试图获取非对象的属性‘单位’”
但是当我使用时:
{{ dd($product->size_unit() }}
可以看到relation->属性下的单元,所以尝试使用:
$product->size_unit()->unit
我收到以下错误:
“未定义属性:Illuminate\Database\Eloquent\Relations\BelongsTo::$unit”
我正在使用 with('size_unit) 获取产品
请告诉我出了什么问题以及如何解决?
【问题讨论】:
-
您可以尝试使用驼峰式命名,例如
sizeUnit和SizeUnit用于课程,并确保您的外键正确。
标签: laravel laravel-5 eloquent laravel-5.8