2014-10-19 61 views
0

這看起來似乎毫無道理,但由於某種原因,我無法弄清楚這裏發生了什麼。我有使用存儲庫設計模式的Laravel應用程序。我有一個部門模型和一個工作站模型。Laravel 4不返回一對多

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

我有一個FK從students表中的teacher_id字段到teacher表中的id字段。我必須通過'id'作爲第二個參數,否則我會在teacher表sql異常中找不到teacher_id列。

當我從資料庫返回

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

它讓我從老師表中的行,就好像我又回到

Teacher::find($teacher_id); 

缺少什麼我在這裏?似乎它應該工作..爲什麼甚至在教師表中尋找teacher_id而不是學生表?

回答

0

哇我真不敢相信我在這上面花了多少時間,答案如此明顯。我無意中將我的$ table var設置爲Student模型中的「teachers」。