2016-09-28 2 views
0

저는 Laravel로 응용 프로그램을 빌드합니다.이 응용 프로그램은 새로운 것으로 모델 정의에 집착했습니다.
두 개의 테이블 USERS 및 ACTIONS가 있습니다.

1) 사용자가 "동작"또는 여러 동작을 만들 수 있습니다.
2) 사용자는 다른 사용자가 만든 활동의 구성원이 될 수도 있습니다. 내가 잘못 아니에요 경우
Laravel 5.3의 동일한 테이블에 대한 두 개의 관계

그래서 첫 번째 관계는 일대 다 관계 (A 사용자가 많은 작업을 만들 수 있습니다, 하나의 작업을 하나의 사용자에 의해 생성 될 수있다) 이고 두 번째는 많은 많은입니다 laravel이 허용하는 경우 나도 몰라

(많은 사용자가 많은 동작의 구성원이 될 수 있습니다), 아니면 내가 뭔가 당신의 모든

감사를 누락

+0

예, [Eloquent Relationship] (https://laravel.com/docs/5.3/eloquent-relationships#defining-relationships) – Garric15

답변

1

이 여러 관계를 가지고하는 것이 가능 같은 테이블 사이.

다음 관계 정의는 당신을 위해 작동합니다 :

class User extends Model { 
    public function actions_created() { 
    return $this->hasMany(Action::class, 'creator_id'); 
    } 

    public function actions() { 
    return $this->belongsToMany(Action::class); 
    } 
} 

class Action extends Model { 
    public function creator() { 
    return $this->belongsTo(User::class); 
    } 

    public function users() { 
    return $this->belongsToMany(User::class); 
    } 
} 

당신이 사용자와 행동 사이의 many-to-many 관계를 저장하는 장소에 action_user 테이블이 있는지 확인합니다. id, user_id 및 action_id의 3 개의 열이 있어야합니다.

+0

답장을 보내 주셔서 감사합니다. 잘 작동합니다. – Devops

+0

@Devops가 질문을 대답으로 표시 하시겠습니까? –

+0

어떻게 할 수 있습니까? – Devops

관련 문제