我对Laravel上的belongsToMany关系有问题。首先,我想描述我的表格结构。我的数据库上有3个不同的表。项目,技能和ProjectSkills是我的表。我的模型有一个结构。当我尝试插入具有技能的项目时,它工作得很好。但是,当我试图获得一个项目时,它并没有列出技能。
ProjectController:
$Project = Projects::with('skills')->where('Projects.SefTitle','=',$ProjectSef)->first();
return View::make('Projects.view',array('Project'=>$Project));
项目(模型)
...
public function skills(){
return $this->belongsToMany('Skills','ProjectSkills','ProjectID','SkillID');
}
...
查看:
@foreach($Project->Skills as $Skill)
{{$Skill->Title}} <br />
@endforeach
数据库和数据集:
答案 0 :(得分:1)
对于与默认Laravel使用的主键(仅id
)不同的主键,请确保在每个模型类上定义主键:
class Projects extends Eloquent {
protected $primaryKey = 'ProjectID';
}