多对多关联的 POST 请求

2024-02-09

我有两个具有多对多关联的实体:

class User extends BaseUser

and

class Calendar
{
    /**
     * @var integer
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;

    /**
     * @var string
     *
     * @ORM\Column(name="name", type="text")
     */
    private $name;

    /**
     * @var string
     *
     * @ORM\Column(name="view", type="text")
     * @Assert\Choice(choices = {"work week", "week", "month", "year"}, message = "Choose a valid view.")
     */
    private $view;

    /**
     * @ManyToMany(targetEntity="AppBundle\Entity\User")
     * @JoinTable(name="calendars_publishers",
     *      joinColumns={@JoinColumn(name="calendar_id", referencedColumnName="id")},
     *      inverseJoinColumns={@JoinColumn(name="publisher_id", referencedColumnName="id", unique=true)}
     *      )
     */
    private $publishers;

    public function __construct()
    {
        $this->publishers = new \Doctrine\Common\Collections\ArrayCollection();
    }

    /**
      * Add publishers
      *
      * @param \AppBundle\Entity\User $publishers
      * @return Calendar
      */
      public function addPublisher(\AppBundle\Entity\User $publishers)
       {
          $this->publishers[] = $publishers;

           return $this;
       }

      /**
        * Remove publishers
        *
        * @param \AppBundle\Entity\User $publishers
        */
       public function removePublisher(\AppBundle\Entity\User $publishers)
     {
         $this->publishers->removeElement($publishers);
      }
}

当我对 REST API 执行 POST 请求时(http://localhost:8000/日历 http://localhost:8000/calendars)与身体:

{
  "name": "My calendar",
  "view": "week",
  "publishers": [
    "/users/1",
    "/users/2"
  ]
}

我有这样的回应:

{
  "@context": "/contexts/Calendar",
  "@id": "/calendars/3",
  "@type": "Calendar",
  "name": "My calendar",
  "view": "week",
  "publishers": []
}

所以,正如你所看到的,我的对象记录得很好,但我无法将一些用户放入publishers。你有好主意吗?

我使用捆绑包:

  • DunglasApiBundle
  • NelmioApiDocBundle
  • NelmioCors 捆绑包
  • FOSHttpCacheBundle
  • FOS用户包
  • LexikJWTAuthenticationBundle

with API平台 https://api-platform.com/.


你应该添加addPublisher(User $publisher) and removePublisher(User $publisher)方法。

API Platform 内部使用 Symfony PropertyAccess 组件,该组件需要此类方法才能访问私有属性。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

多对多关联的 POST 请求 的相关文章

随机推荐

  • 如何在张量流中将 2d 张量与 3d 张量相乘?

    In numpy您可以将 2d 数组与 3d 数组相乘 如下例所示 gt gt gt X np random randn 3 5 4 3 5 4 W np random randn 5 5 5 5 out np matmul W X 3 5
  • Objective-C 在 dealloc 中保留计数

    我在这里看到一些相当奇怪的东西 我在不同的地方设置了断点dealloc我的应用程序中的方法 并在检查时 对象的保留计数self从 1 到 0 变化 当dealloc被调用时 对象的保留计数是否已被设置为0 我在用着print int sel
  • 找到control m字符并将其删除

    是否有任何单行命令可以递归地查找所有目录中的 ctl 文件并从中删除 control m 字符 Use find with sed 使用 GNU sed find name ctl type f exec sed i s M 对于 BSD
  • 到达代码,不执行并无错误退出

    到目前为止 我的所有代码都运行良好 using System Diagnostics namespace WebPortalLogging public static class EventLogging public static voi
  • 通过 HttpURLConnection 发送 UTF-8 字符失败

    我已经花了半个星期天的时间来解决这个问题 现在我需要帮助 我想使用 Java HttpURLConnection 将包含特殊字符 UTF 8 编码的字符串发送到服务器 字符的正确编码失败 Example strToSend strUrlEn
  • Laravel 全文搜索

    我正在尝试对数据库实施全文搜索查询 这是我的客户发给我的规范 The free text search limits the result of the data table to records with a matching first
  • C# 中的线程安全属性

    我正在尝试在 C 中创建线程安全属性 并且我想确保我处于正确的路径上 这是我所做的 private readonly object AvgBuyPriceLocker new object private double AvgBuyPric
  • JavaFX 中的动态/即时调整大小

    如何创建一个 立即 动态调整大小的 JavaFX 应用程序 现在 我已经编写了一个简单的应用程序 可以动态调整大小 但布局更改只有在拖动鼠标按钮后才会显示 我希望在此按钮释放之前立即看到结果 布局更改 我假设这是通过将正确的值 控件与反向绑
  • 如何在java中转换为CRTP?

    我有一个非常简单的案例 我做了一些基本的通用分配 final Detail detail field getAnnotation Detail class final String example detail example final
  • OLAP 处理时出错

    我是 OLAP 新手 并且弄清楚了如何制作立方体并处理它 然而 当我玩得太多时 我最终遇到了这个错误 OLAP存储引擎中的错误 找不到属性键 表 dbo v MYEntities 列 uniqueId 值 2548 OLAP 中的错误 存储
  • 如何根据行的“属性”将数据帧行乘以数组?

    我有一个大熊猫数据框 DF 它几乎占用了我所有的 RAM 它的索引始终是以下之一 c1 c2 c3 0 1 2 n i c1 1 8 15 c2 2 9 16 c1 3 10 17 c3 4 11 18 c2 5 12 19 c1 6 13
  • 为什么 Numpy 数组中的第二个维度为空?

    为什么输出在这里 array np arange 3 array shape is 3 and not 1 3 缺失的维度意味着什么或等于什么 万一出现混乱 3 并不意味着缺少维度 逗号是单元素元组的标准 Python 表示法的一部分 形状
  • 我可以知道 char 指针变量指向的 char-array-size 吗? [复制]

    这个问题在这里已经有答案了 我必须知道 char 指针变量指向的数组大小 但你知道 sizeof 操作不起作用 char a 5 char b a int c sizeof b printf d sizeof b 8 64 bit cpu
  • != 和 !== 之间的区别[重复]

    这个问题在这里已经有答案了 就我而言 我应该使用 如下 还是 更合适 有什么区别 private function authenticateApi ip sentKey mediaServerIp 62 80 198 226 mediaSe
  • 从数组中的 COUNT 中排除空值

    如何从数组的计数中排除空值 因为计数中始终包含空值 count array filter array function x return is null x
  • 在 C# 中模拟可变参数模板

    是否有一种众所周知的方法来模拟 C 中的可变参数模板功能 例如 我想编写一个方法 该方法采用带有任意参数集的 lambda 这是我想要的伪代码 void MyMethod
  • 如何创建自定义 UIButton(带图像)但仍使用 setTitle?

    我尝试使用 UIButtonTypeCustom 创建 UIButton 然后使用以下方法调整它的外观 sendButton setImage UIImage imageNamed sendButtonOff png forState UI
  • 批处理文件最大化当前窗口

    我构建了一个批处理程序 目前正在对其进行调整 以使其更具可读性 用户友好性 我想要我的 bat文件自动设置为最大化 bat文件本身 我读到START MAX在线 但这只是打开命令提示符窗口的一个新实例 我不想有两个 bat文件只是为了最大化
  • Typescript:如何设置方法返回值=>子类

    我有一个带有两个子类的父类 abstract class Point public readonly x number public readonly y number constructor x number y number this
  • 多对多关联的 POST 请求

    我有两个具有多对多关联的实体 class User extends BaseUser and class Calendar var integer ORM Column name id type integer ORM Id ORM Gen