我有两张桌子 - 成员和主题。这两个表通过一对多关系相互关联如下:
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中的数据一致性似乎没有问题。
答案 0 :(得分:0)
您是否有外键字段的标准命名?成员表中的字段名称应为topic_id。如果不是,您需要将member()定义为
return $this->belongs_to("Member","fkfieldname");
(另外,如果您使用的是Laravel4,则需要使用belongsTo()而不是belongs_to()。)
答案 1 :(得分:0)
Topic模型中的函数成员返回一个数组。
访问外部关系的正确方法是
$ members =主题:: find(1) - >成员[0] - >电子邮件