2017-05-05 1 views
0

Laravel 5.4에서 웅변 관계가 어떻게 작용하는지 다소 혼란 스럽습니다. 내 사용자 모델과 함께 "hasMany의"관계가있는 학교 모델을 가지고 : 사용자가 비록 학교에 링크 할 필요가 없습니다Eloquent Relationships (모델 간 연결) (Laravel 5.4)

public function users() 
{ 
    return $this->hasMany('App\User'); 
} 

를, 그래서 belongsTo를 (학교) 기능을 넣어하지 않은 내 사용자 모델에.

사용자를 만들 때 어떻게 사용자를 학교에 연결해야합니까? 예를 들어 특정 학교의 모든 사용자를보기로 끌어 올 수있는 방법은 무엇입니까?

+0

여기에서 시작하겠습니다. https://laravel.com/docs/5.4/eloquent-relationships. 워드 프로세서는 기본 개념을 따라 가면서 잘 수행됩니다. – jackel414

답변

0

사용자가 한 학교에만 소속 될 수있는 경우 가장 직접적인 방법은 테이블에 school_id 열을 추가하는 것입니다. 필요하지 않으므로 null이되도록 허용 할 수 있습니다. 이렇게하면 $school->users을 실행하여 해당 학교의 사용자 목록을 검색 할 수 있습니다.

사용자 모델에 belongsTo 관계를 추가하는 것이 좋습니다. 적용 가능한 경우 $user->school을 사용하여 사용자 학교를 검색 할 수 있습니다. 일부 사용자에게는 null이 될 것입니다.

+0

나는 "$ school-> users"를 일하게 할 수 없다. 나는 $ school = School :: find (1)을 시도했다. $ school-> users; 컴팩트하게보기 위해 전달하지만 작동하지 않습니다. 이 오류가 발생합니다 : "FatalThrowableError HasRelationships.php 라인 487 : 클래스 'App \ Users'not found"- 내 사용자 모델에 대해 belongsTo (학교)를 추가했습니다. –

+0

코드에서 'App \ Users'로 정의되어 있습니까? 나는 그것이'App \ User' (단수)이어야한다고 생각합니다. – jackel414

+0

네, 제 학교 관계에서 "사용자"를 잘못 입력했습니다. 나는 꽤 피곤하다, 나쁜! : S –