【发布时间】:2017-10-13 00:30:04
【问题描述】:
我正在尝试在 2 个表之间建立关系:
我的模型:
class Modele extends Model
{
public function shoe()
{
return $this->hasMany('Shoe');
}
}
class Shoe extends Model
{
public function modele()
{
return $this->belongsTo(Modele::class, 'IdModele','id');
}
}
我的控制者:
class shoeController extends Controller
{
public function index()
{
$shoesList= \App\Shoe::with('modele')->orderBy('idModele')->get();
return view('shoe.index',compact('shoesList'));
}
}
当我 dd($shoeList) 时,我有这个:
#relations: array:1 [▼
"modele" => null
]
如果我尝试像这样在刀片中使用参数:
<p>{{$shoe->modele->idGender}}</p>
我有这个错误:
ErrorException 抛出消息“尝试获取非对象的属性(查看:C:\laragon\www\ipepsShoes2017\resources\views\shoe\index.blade.php)
我已经使用相同的方式在这个项目中的表之间建立了其他关系,并且它们工作正常。
我不明白为什么它不起作用。
谢谢。
【问题讨论】:
-
我不确定,但是在做
hasMany的时候,你必须写表名,我不知道那个表是Shoe的shoe。你能告诉我们你的表格结构吗? -
return $this->belongsTo(Modele::class, 'idModele','id');我想我一定是小写字母 nto capse
-
这是我的表格架构 :photos.app.goo.gl/aGj9ATqhd8qxsMt92 抱歉,我无法上传照片.... Modele 和其他表格上层的关系完美...