模型结构:
AccessoryGroup (hasMany:accessories)Accessory (belongsTo:accessory_group)))
获得所有配件组与配件(与accesory_group)
在accessories中,我需要accessory_group关系,以创建一些自定义属性(附加)
但是在使用之后,我不会不使用我的Api从accessories->accessory_group返回关系
AccessoryGroup
::with([
'accessories' => function ($query) {
$accessory = $query->getRelated();
// Can I somehow use this $accessory relation for my problem
// something like $accessory->makeHidden('accessory_group'); - not working
},
'accessories.accessory_group',
])
->get();当我在附件模型中添加时,我得到了我想要的东西,但是它总是隐藏的(总是需要使用makeVisible)
发布于 2022-02-26 19:49:07
从您的问题中,我得到的是您不希望将关系返回给您的API响应。如果在父模型中有关系,那么我不希望再次从relation加载数据,所以建议您在控制器部分中这样做,以构建业务逻辑。
但是针对你当前的问题,你可以这样做
$accessoryGroups = AccessoryGroup::query()
->with([
'accessories',
'accessories.accessory_group',
])
->get();
// do your work here
// unset the relationship after your work complete
$accessoryGroups->each(function($accessoryGroup) {
$accessoryGroup->accessories->each(function($category) {
$category->unsetRelation('accessory_group');
});
});
// return api responsehttps://stackoverflow.com/questions/71276315
复制相似问题