2012-12-08 41 views
0

所以這裏是我設置的。我有兩張桌子; userstodos。每個用戶可以有多個「todos」。Laravel一對多關係返回null

下面是桌子的樣子:

用戶: enter image description here

託多斯: enter image description here

而且型號:

class User extends Eloquent 
{ 
    public function todo() { 
     $this->has_many('todo'); 
    } 
} 

而且......

class Todo extends Eloquent 
{ 
    public function user() { 
     $this->belongs_to('user'); 
    } 
} 

請注意,我已經在數據庫中附加了用戶的「待辦事項」。因此,隨着中說,我應該不能夠做到以下幾點:

$user = User::find(1)->todo; 

要獲得待辦事項的該用戶?我目前變得空時dd() -ing它:

array(1) { 
    ["todo"]=> 
    NULL 
} 

那麼,有什麼想法?我試着從Todo的模型中刪除belongs_to(),因爲它不應該是正確的?無論哪種方式,它都沒有區別。我錯過了什麼嗎?

回答

1

您需要返回關係對象,例如

class User extends Eloquent 
{ 
    public function todos() { 
     return $this->has_many('Todo'); 
    } 
} 

還應注意,返回的陣列(例如的has_many,has_many_and_belongs_to)關係通常命名爲複數,所以「待辦事項」與「待辦事項。

+1

哇,是的,這是尷尬!謝謝 :) – qwerty