This seems like a no brainer but for some reason I can't figure out what is going on here. I have Laravel app using the repository design pattern. I have a Departments Model and a Stations Model.
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');
}
}
I have a FK from the teacher_id field in the students table to the id field in the teachers table. I have to pass 'id' as the second param or I get a teacher_id column not found in teachers table sql exception.
When I return
Teacher::find($teacher_id)->students;
from the repository it gives me the row from the teachers table just as if I had returned
Teacher::find($teacher_id);
What am i missing here? Seems like it should work.. why is even looking for a teacher_id in the teachers table and not the students table?