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