Php 在laravel中,许多关系数据在创建后不会直接显示/获取

Php 在laravel中,许多关系数据在创建后不会直接显示/获取,php,laravel,laravel-5,laravel-5.6,Php,Laravel,Laravel 5,Laravel 5.6,我有一个存储方法,它保存或更新成人详细信息的建议文件 关系: An AdviceFile hasMany Adult An Adult belongsTo an AdviceFile 我认为我的方法很简单,可能是错误的,但最后当我尝试获取属于adviceFile的成人时,它不会获取任何 你知道为什么会这样吗 这是我的存储方法 解决方案是在返回语句之前加载关系: $adults = $adviceFile->adults()->get(); return AdultResource:

我有一个存储方法,它保存或更新成人详细信息的建议文件

关系:

An AdviceFile hasMany Adult
An Adult belongsTo an AdviceFile
我认为我的方法很简单,可能是错误的,但最后当我尝试获取属于adviceFile的成人时,它不会获取任何

你知道为什么会这样吗

这是我的存储方法


解决方案是在返回语句之前加载关系:

$adults = $adviceFile->adults()->get();
return AdultResource::collection($adults);
来自拉腊喀特的@brunodevel和@hailwood信用卡


我记得你说过成人单数属于adviceFile?因为我看到你指的是$adviceFile->成人复数。还有一个方法名与AdviceFile模型中的成人匹配吗?您应该发布AdviceFile和成人模型。但是..可能…在foreach$AdviceFile->成人->关联$成人中;其中,$成人是您在foreach中更新或保存的内容。…@koalaok我们将无法使用associate方法处理多个关系。。在下面发布解决方案
$adults = $adviceFile->adults()->get();
return AdultResource::collection($adults);
// Illuminate\Database\Eloquent\Concerns\HasAttributes

public function getRelationValue($key)
    {
        // If the key already exists in the relationships array, it just means the
        // relationship has already been loaded, so we'll just return it out of
        // here because there is no need to query within the relations twice.
        if ($this->relationLoaded($key)) {
            return $this->relations[$key];
        }
    ...
}