APiPlatform在一对多(oneToMany)关系上返回对象数组而不是对象的对象。
创始人
2024-09-08 02:30:23
0

在实现中,您可以使用API资源类进行自定义。

首先,将API资源类(如Order)的一对多关系(如OrderItem)设置为返回单个对象而不是数组。这可以通过设置@ApiSubresource属性来实现。然后,使用@Groups注释将子资源的组名称设置为可嵌套的。最后,创建一个新的API资源类(如OrderCollection)来嵌套子资源。

以下是代码示例:

// Order.php

use ApiPlatform\Core\Annotation\ApiResource; use Doctrine\Common\Collections\Collection;

/**

  • @ApiResource / class Order { /*

    • @var Collection|OrderItem[]
    • @ApiSubresource(maxDepth=1)
    • @Groups({"order:read", "order:write"}) */ private $items;

    public function getItems(): Collection { return $this->items; } }

// OrderItem.php

use ApiPlatform\Core\Annotation\ApiResource;

/**

  • @ApiResource */ class OrderItem { // ... }

// OrderCollection.php

use ApiPlatform\Core\Annotation\ApiResource;

/**

  • @ApiResource(

  • collectionOperations={
    
  •     "get",
    
  •     "post"
    
  • },
    
  • itemOperations={
    
  •     "get"
    
  • }
    
  • ) / class OrderCollection { /*

    • @var Order */ private $order;

    public function __construct(Order $order) { $this->order = $order; }

    public function getItems() { return $this->order->getItems(); } }

使用这种方法,您可以确保APIPlatform在一对多关系上返回对象的对象而不是数组。

相关内容

热门资讯

二分钟发现!决战卡五星游戏辅助... 二分钟发现!决战卡五星游戏辅助器,poker world竟然真的是有挂,解密教程(有挂秘笈)1、决战...
必备攻略!旺旺福建麻将小程序麻... 必备攻略!旺旺福建麻将小程序麻将插件(透明挂)原来有挂(2024已更新)(哔哩哔哩);1、实时旺旺福...
微扑克有辅助挂!微扑克系统的发... 微扑克有辅助挂!微扑克系统的发牌速度有多快,微扑克有规律,玩家教程(有挂技巧);微扑克辅助插件是一个...
微扑克教程!wepoke算法(... 微扑克教程!wepoke算法(wepoke黑科技)WepokE(一直真的有挂);科技详细教程小薇《7...
9分钟科普!丽水都莱辅助器,A... 9分钟科普!丽水都莱辅助器,AApOKER切实有挂,2025新版总结(有挂神器)1、在丽水都莱辅助器...
重要通知!财神十三张开挂(透明... 重要通知!财神十三张开挂(透明挂)确实真的有挂(2023已更新)(哔哩哔哩)1、许多玩家不知道财神十...
微扑克辅助挂!微扑克系统发牌,... 1、微扑克辅助挂!微扑克系统发牌,WPK真是是有挂,专业教程(有挂解说)2、进入游戏-大厅左侧-新手...
wepower辅助器!wepo... 1、wepower辅助器!wepoke有软件(透明挂)wepOke(果真真的有挂);详细教程。2、w...
一分钟辅助!广西跑胡子有挂吗,... 一分钟辅助!广西跑胡子有挂吗,WEpoke其实是真的有挂,揭秘教程(有挂黑科技)1、广西跑胡子有挂吗...
一分钟带你了解!开心联盟金花怎... 一分钟带你了解!开心联盟金花怎么赢得多(透视)一直是真的有挂(2022已更新)(哔哩哔哩)1、下载好...