0

我有两个表 - 成员和主题。这两个表通过一对多的关系相互关联,如下所示:

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;

我哪里错了?DB中的数据一致性似乎没有问题。

4

2 回答 2

0

你有外键字段的标准命名吗?成员表中的字段名称应为 topic_id。如果不是,您需要将 member() 定义为

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

(另外,如果你使用 Laravel4,你会想要使用 belongsTo() 而不是 belongs_to()。)

于 2013-01-24T18:24:15.097 回答
0

您的主题模型中的函数成员返回一个数组。

访问外交关系的正确方法是

$members = Topic::find(1)->member[0]->email

于 2013-04-28T21:21:48.580 回答