2013-01-24 108 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] - >电子邮件