モデルリソースがあり、その中で$this->tagsを呼び出しています
このリソースは次のように返されます。
"data": {
"some_keys" : ...,
"some_keys2" : ...,
"tags":[
{
"id": 1,
"name": "c++",
"parent_id": null,
"type": null,
"created_at": "2020-09-27 20:37:57",
"updated_at": "2020-09-27 20:37:57",
"pivot": {
"task_id": 43,
"skill_id": 1
}
}
]
私は次のようにしたい:
"data": {
"some_keys" : ...,
"some_keys2" : ...,
"tags": [
{
"id": 1,
"name": "c++"
}
]
私のリソース モデル:
public function toArray($request)
{
$data = parent::toArray($request);
$data["tags"] = $this->tags;
return $data;
}
私のタスクモデル:
public function tags(){
return $this->belongsToMany(Skill::class, 'task_skills', 'task_id', 'skill_id');
}
リソース モデルのタグの列を減らすにはどうすればよいですか?
私はこのように解決しました:
$data["tags"] = $this->tags->makeHidden(['pivot','created_at','updated_at','type','parent_id']);