0

我尝试按照在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();但它只显示一个空白数组。我确定我的用户和角色表中都有一个条目。

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

4

1 回答 1

0

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

public static $key = 'role_code';

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

于 2012-12-20T17:49:09.947 回答