Laravel 5.1雄辩的关系渴望加载不工作

时间:2015-09-24 11:26:38

标签: php eloquent laravel-5.1 eager-loading

我已经在论坛上尝试了所有答案,没有人帮助过我。

App \ User.php模型定义了hasOne关系

public function apikey()
{
    return $this->hasOne('App\ApiKey', 'user_id', 'user_id');
}

App \ ApiKey.php模型定义了反向关系

protected function user()
{
    return $this->belongsTo('App\User','user_id','user_id');
}

现在我有一个转换函数,来自控制器return $this->response->withItem(**$users**, new UserTransformer);

应用\变压器\ UserTransformer.php

public function transform($resource) //$resource is a users object
{
    $user_id = (int) $resource->user_id;
    $apiKey = $resource->apikey->key;
    return [
        'user_id' => $user_id,
        'apikey' => $apiKey
    ];
}

我在$apiKey = $resource->apikey->key;

处收到以下错误消息
  

尝试获取非对象的属性

我不明白我哪里出错了请建议。

谢谢,

ķ

1 个答案:

答案 0 :(得分:0)

你应该尝试只传递一个模型而不是用户 在查询时,您可以使用first()find()来获得单个结果。