我尝试按照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();
中使用了此命令,但它只显示一个空白数组。我确信我的用户和角色表中都有一个条目。
我错过了什么?你能帮助我吗?
答案 0 :(得分:0)
您是否为角色表定义了关键字段?如果角色表的键是$ id,那么您向我们展示的内容应该。如果没有,您需要在Role类中添加以下内容:
public static $key = 'role_code';
(我假设如果你使用的是非传统的外键定义,你也可能有非常规的主键定义。)