Laravel 4不返回一对多


Laravel 4 not returning one-to-many

这看起来很容易,但由于某种原因,我无法弄清楚这里发生了什么。我有使用存储库设计模式的Laravel应用程序。我有一个部门模型和一个车站模型。

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');
    }
}

我有一个从学生表中的teacher_id字段到教师表中的id字段的FK。我必须将"id"作为第二个参数传递,否则在教师表sql异常中找不到teacher_id列。

当我返回时

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

从存储库中,它给了我教师表中的一行,就好像我返回了一样

Teacher::find($teacher_id);

我在这里错过了什么?看起来应该行得通。。为什么要在教师表而不是学生表中查找teacher_id?

哇,我真不敢相信我在这上面花了这么多时间,答案如此明显。我不小心在学生模型中将$table变量设置为"教师"。