Laravel - 未处理的异常错误

时间:2013-01-24 16:34:05

标签: php 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;

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

2 个答案:

答案 0 :(得分:0)

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

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

(另外,如果您使用的是Laravel4,则需要使用belongsTo()而不是belongs_to()。)

答案 1 :(得分:0)

Topic模型中的函数成员返回一个数组。

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

$ members =主题:: find(1) - >成员[0] - >电子邮件