2014-02-09 2 views
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'); 
    } 
} 

내 피벗 테이블 이름은피벗 테이블 Laravel 4

내가 연결하려고 할 때 .. 여분의 열 "isLeader"와 project_user입니다 ..

$user= User::findOrFail($user_id); 
$user->projects()->attach($project_id); 

그것은 작동하지 않습니다 I 나는 $ 프로젝트 즉,를 사용하는 경우, 그러나이 오류

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()를 가져와야하지만 작동하지 않습니다. 문제가 관계 설정 하였다

+0

문제가 관계 설정 하였다 .. 복귀 $ this-> 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

+1

나중에 참조 할 수 있도록 답변으로 게시 할 수 있습니다. –

+0

나는 충분한 평판이 없다. 제발 해줘 요. Tnx – user3260759

답변

2

..

 return $this->belongsToMany('Project','project_user','project_id','user_id') 
    ->withPivot('isLeader'); 

이어야 ..

return $this->belongsToMany('Project','project_user','user_id','project_id') 
    ->withPivot('isLeader'); 

OO