0

나는 세 개의 테이블을 만들었습니다. 각 학생은 교사에게 정확히 한 번만 평가할 수 있습니다. 그는 다른 교사들을 평가할 수 있지만 동일한 교사는 평가할 수 없습니다.Laravel 5.2에서 테이블에 대한 관계를 선택하는 방법은 무엇입니까? 나는 특정 교사에게 학생의 등급을 기록 할 내 평가 테이블에</p> <pre><code>Student(ID, username), Teacher(ID, name) and Rating(ID, rating) </code></pre> <p>:

이 경우 어떤 관계가 더 좋을까요? 나는 Laravel의 초보자입니다.

+0

StackOverflow에 오신 것을 환영합니다. 질문을 개선하는 방법에 대한 힌트는 [ask] 페이지를 참조하십시오. 훌륭한 질문은 지역 사회에서보다 빠르고 더 나은 답변을 제공하는 경향이 있습니다. 다른 곳에서 빨리 문제를 해결하기 위해 [mcve]를 추가하는 것이 좋습니다. – ochi

답변

1

각 학생은 교사를 한 번만 평가할 수 있으므로 student_idteacher_id 열을 Rating 테이블에 추가하고 관계에서 외래 키로 사용하는 것이 가장 간단합니다.

은 그럼 당신은 학생 모델의 관계를 정의 할 수 있습니다 :

class Student extends Model 
{ 
... 
    // Ratings given by the student 
    public function ratings() 
    { 
     return $this->hasMany('App\Rating'); 
    } 
} 

및 교사 모델 :

class Teacher extends Model 
{ 
... 
    // Ratings received by the teacher 
    public function ratings() 
    { 
     return $this->hasMany('App\Rating'); 
    } 
} 

더 읽기 일대 관계에 :

https://laravel.com/docs/5.3/eloquent-relationships#one-to-many

+0

오른쪽 대다수는 제 요구 사항에 잘 어울립니다. 내 모델에 관계를 정의한 후에해야 할 일에 대해 설명해 주시겠습니까? – Sumit

+0

당신이해야 할 일에 달려 있습니다. 특정 질문으로 공식화 해보십시오. 이 튜토리얼은 완벽한 튜토리얼을 제공하는 곳이 아닙니다. 그러한 정보에 대한 더 나은 정보원이 있습니다. https://laracasts.com/ – Matey

+0

Ok. 어쨌든 UR 도움을 주셔서 감사합니다. – Sumit