이것은 생각할 줄 모르는 것처럼 보이지만 웬일인지 여기서 무슨 일이 일어나는지 알 수 없습니다. 저장소 디자인 패턴을 사용하는 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을 찾고 계십니까?