2013-01-24 144 views
0

我有兩個表 - 成員和主題。Laravel - 未處理的異常錯誤

class Topic extends Eloquent { 
    public function member(){ 
      return $this->belongs_to('Member'); 
    } 
} 

class Member extends Eloquent { 
    public function topics() { 
     return $this->has_many('Topic'); 
    } 
} 

我得到一個Unhandled Exception error - Trying to get property of non-object當我嘗試這樣的事:

$members = Topic::find(1)->member->get()->email; 

我要去哪裏錯了這兩個表由一個如下的相互關係,以一對多的關係?數據庫中的數據一致性似乎沒有問題。

+0

嘗試'$電子郵件=主題::發現( 1) - > member() - > get() - > email;' – Cristian

+0

nope..not working :( –

+0

我假設這是Laravel 3,而不是Laravel 4 ...? –

回答

0

你有外鍵字段的標準命名嗎?成員表中的字段名稱應該是topic_id。如果不是的話,你要定義成員()作爲

return $this->belongs_to("Member","fkfieldname"); 

(另外,如果你使用Laravel4,你需要使用屬於關聯()代替belongs_to的()。)

0

Topic模型中的函數成員返回一個數組。

訪問外國的關係將是

$成員=題目的正確方式::查找(1) - >成員[0] - >電子郵件