php - Laravel - Eloquent:API 资源 - 条件关系
问题描述
我想我可能在 Laravel 中发现了一个错误,请参阅以下代码:
我正在达到一个端点/api/users/1
public function show(User $user)
{
return new UserResource($user);
}
我的资源如下所示:
use Illuminate\Http\Resources\Json\JsonResource;
class LenderTrancheCommitment extends JsonResource
{
public function toArray($request)
{
//dd($this);
return [
'uuid' => $this->uuid,
'name' => $this->name,
'currency' => $this->currency,
'company' => new CompanyResource($this->whenLoaded('company')),
'created_at' => $this->created_at,
'updated_at' => $this->updated_at,
];
}
}
->with()
现在我希望公司属性不会在 JSON 中返回,但是它确实如此,当我没有在代码中的任何地方使用时,任何人都可以看到为什么公司关系被加载并添加到 JSON 响应中的原因吗?
抱歉,如果这完全是 n00b 错误,但我想正确理解 Laravel 中的新 API 资源内容,我觉得我犯了一个错误。
解决方案
我设法解决了这个问题,问题是由于模型中有一个使用关系属性的属性。
推荐阅读
- node.js - Windows 上的 node-gyp 5:找不到 npm\node_modules\node-gyp\bin\node-gyp.js
- flutter - 允许“上下文”移动到不同的 dart 文件
- android - 更新数据后,有什么方法可以刷新 baseadapter 中的自定义视图?
- c - C Linux 中的 Pthread 信令
- python - 是否可以在没有 for 循环的情况下不规则地对 np 数组进行切片并对每一行求和?
- python - RegexField 未通过验证
- spring - 具有扩展接口和泛型的动态 JPA 投影
- c++ - 如何搜索和排序二维数组
- haskell - 卡方检验 - 无法匹配类型
- qt - 为什么 QScrollArea 不考虑垂直滚动条宽度?