如何在Laravel中添加关系?

时间:2012-12-20 02:27:09

标签: php laravel

我尝试按照http://net.tutsplus.com/tutorials/php/build-web-apps-from-scratch-with-laravel-the-eloquent-orm/http://laravel.com/docs/database/eloquent上的文档进行操作,但它似乎无法正常工作。

class User extends Eloquent 
{
    public function role()
    {
         return $this->has_one('Role', 'role_code');
    }
}

class Role extends Eloquent 
{
    public function user()
    {
          return $this->belongs_to('User', 'role_code');
    }
}

在我的数据库中,我在用户和角色表中都有role_code列。 我在我的控制器$test = User::find(1)->role()->get();中使用了此命令,但它只显示一个空白数组。我确信我的用户和角色表中都有一个条目。

我错过了什么?你能帮助我吗?

1 个答案:

答案 0 :(得分:0)

您是否为角色表定义了关键字段?如果角色表的键是$ id,那么您向我们展示的内容应该。如果没有,您需要在Role类中添加以下内容:

public static $key = 'role_code';

(我假设如果你使用的是非传统的外键定义,你也可能有非常规的主键定义。)