繁体   English   中英

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

[英]Laravel 5.1 Eloquent relation Eager loading not working

我已经尝试了论坛上所有的答案,没有一个对我有帮助。

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);调用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;收到以下错误$apiKey = $resource->apikey->key;

试图获取非对象的属性

我不明白我要去哪里错了,请提出建议。

谢谢,

ķ

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM