2
class Project extends Eloquent {
public function users()
{
return $this->belongsToMany('User','project_user','project_id','user_id')
->withPivot('isLeader');
}
}
class User extends Eloquent {
public function projects()
{
return $this->belongsToMany('Project','project_user','project_id','user_id')
->withPivot('isLeader');
}
}
我的数据透视表的名字是project_user有一个额外的列 “isLeader” ..透视表Laravel 4
,当我尝试附加:
$user= User::findOrFail($user_id);
$user->projects()->attach($project_id);
它不工作..我得到这个错误
Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key
constraint fails (`db`.`project_user`, CONSTRAINT `project_user_project_id_foreign`
FOREIGN KEY (`project_id`)REFERENCES `projects` (`id`) ON UPDATE CASCADE) (SQL: insert
into `project_user`() values())
不过,如果我使用$项目 - >用户() - >连接( '用户ID')代替,它的工作原理。
但是,我需要获取$ user-> projects()...但它不工作。
问题是建立关系.. 回报$这个 - > belongsToMany ('Project','project_user','project_id','user_id') - > withPivot('isLeader'); 应该是.. return $ this-> belongsToMany('Project','project_user','user_id','project_id') - > withPivot('isLeader'); O.O – user3260759
也许您可以将此作为回答以供将来参考。 –
我没有足够的声望。请为我做。 Tnx – user3260759