- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
大家好,我刚开始使用 Api-Platform,我被这个问题困了几个小时。
我有一个 Symfony4 项目和两个实体:Bill
& Abo
比尔:
/**
* @ORM\Entity(repositoryClass="App\Repository\BillRepository")
* @ApiResource
*/
class Bill {
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
*/
private $id;
/**
* @var \DateTime
*
* @ORM\Column(name="date", type="date", nullable=false)
*/
private $date;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\Abo", inversedBy="bills")
* @ORM\JoinColumn
* @ApiSubresource
*/
private $abo;
}
阿博:
/**
* @ORM\Entity(repositoryClass="App\Repository\AboRepository")
* @ApiResource
*/
class Abo
{
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="name", type="string", length=50, nullable=false)
*/
private $name;
/**
* @var integer
*
* @ORM\Column(name="price", type="integer", nullable=false)
*/
private $price;
/**
* @ORM\OneToMany(targetEntity="App\Entity\Bill", mappedBy="abo")
*/
private $bills;
}
当我现在调用这个 url /api/bills
时,我得到了这个数据:
{
"@id": "/api/bills/14",
"@type": "Bill",
"id": 14,
"date": "2018-03-08T00:00:00+00:00",
"abo": "/api/abos/1"
},
...
但不是这个 "abo": "/api/abos/1"
我想要 Abo 数据已经加载,像这样:
"abo": {
"name": "TestAbo",
"price": 25
}
这可能吗?如果可以,我该如何实现?
感谢您的宝贵时间和帮助!
最佳答案
您可以为此使用序列化组。确保您的关系字段 $abo
及其成员字段组已公开。
use Symfony\Component\Serializer\Annotation\Groups;
/**
* @ORM\Entity(repositoryClass="App\Repository\BillRepository")
* @ApiResource(attributes={
* "normalization_context"={"groups"={"bill", "bill-abo", "abo"}}
* })
*/
class Bill {
...
/**
* @ORM\ManyToOne(targetEntity="App\Entity\Abo", inversedBy="bills")
* @ORM\JoinColumn
* @ApiSubresource
* @Groups("bill-abo")
*/
private $abo;
...
}
class Abo {
...
/**
* @var string
*
* @ORM\Column(name="name", type="string", length=50, nullable=false)
* @Groups("abo")
*/
private $name;
...
}
您可以在 docs 中阅读更多内容.
关于php - Api 平台 : Eager Loading a Subresource,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50852130/
我想向案例添加附件。 我应该选择哪个请求? POST /cases/123/attachments { "fileName" : "subscription.pdf", "content"
我想向案例添加附件。 我应该选择哪个请求? POST /cases/123/attachments { "fileName" : "subscription.pdf", "content"
我正在阅读 Subresource Integrity但我担心性能损失。这(必须在执行每个文件之前对其进行哈希处理)如何减慢页面加载速度,尤其是在具有低级 CPU 的设备上? 最佳答案 我今天运行了一
link rel="subresource" 有什么用?如果我使用 link rel="subresource" 而不是链接 rel="text/javascript" 来包含 .JS 文件,会有什么
大家好,我刚开始使用 Api-Platform,我被这个问题困了几个小时。 我有一个 Symfony4 项目和两个实体:Bill & Abo 比尔: /** * @ORM\Entity(reposi
我正在运行启用了 RBAC 的 Kubernetes 1.6.2。我创建了一个用户 kube-admin具有以下集群角色绑定(bind) kind: ClusterRoleBinding apiVer
我在我的网站上使用 Glyphicons,它们是 Bootstrap 3 的一部分。在查看开发控制台的网络选项卡时,我意识到它们加载延迟(当浏览器的解析器到达它时),并且有空间通过将该元素更快地引入浏
我是一名优秀的程序员,十分优秀!