2014-10-19 3 views
0

이것은 생각할 줄 모르는 것처럼 보이지만 웬일인지 여기서 무슨 일이 일어나는지 알 수 없습니다. 저장소 디자인 패턴을 사용하는 Laravel 앱이 있습니다. 저는 Departments Model과 Stations Model을 가지고 있습니다.Laravel 4가 1 대 다수를 반환하지 않음

class Teacher extends \Eloquent { 
    use SoftDeletingTrait; 

public function students() 
    { 
     return $this->hasMany('AppName\Models\Student'); 
    } 
} 

class Student extends \Eloquent { 
use SoftDeletingTrait; 

public function teacher() 
    { 
     return $this->belongsTo('\AppName\Models\Teacher'); 
    } 
} 

students 테이블의 teacher_id 필드에서 teachers 테이블의 id 필드까지 FK가 있습니다. 두 번째 매개 변수로 'id'를 전달해야합니다. 그렇지 않으면 teacher_id 열이 교사 테이블 SQL 예외에서 발견되지 않습니다.

내가 저장소에서

Teacher::find($teacher_id)->students; 

를 반환 그것은 나에게 내가 돌아왔다 것처럼 교사 테이블에서 행을 제공

Teacher::find($teacher_id); 

내가 무슨 말이냐? 그것이 작동 해야하는 것 같아요 .. 왜 선생님 테이블에서 아니라 학생 테이블에서 teacher_id을 찾고 계십니까?

답변

0

와우 나는이 시간에 얼마나 많은 시간을 할애했는지 믿을 수 없다. 나는 우연히 Student 모델에서 $ tables var을 'teachers'로 설정했습니다.

관련 문제