【问题标题】:Manage many to many relations in FosRest Bundle在 FosRest Bundle 中管理多对多关系
【发布时间】:2017-11-26 19:26:18
【问题描述】:

我正在将 FosRest Bundle 与 symfony 一起使用,并且我在两个表之间有多对多的关系。 例如:

class Site
{
    /** ManyToMany **/
    protected $languages;
}

class Language
{
    /** ManyToMany **/
    protected $sites;
}

我以前分别保存在每个表中的记录,但现在我想在我的新表中添加它们之间的关系site_language,但我不知道该怎么做。

在 SiteController 我有这些方法:

getSitesAction()
getSiteAction()
postSiteAction()
putSiteAction()
patchSiteAction()
deleteSiteAction()

我应该创建一个像 postSiteLanguagesAction() 这样的新方法吗?
还是修改已有的 postSiteAction()?

【问题讨论】:

    标签: rest symfony doctrine-orm fosrestbundle


    【解决方案1】:

    排序答案:可能两者都有,有点。

    这里有两个不同的问题:

    • 改变网站所拥有的语言......不过,我可能会直接称它为 postLanguagesAction()
    • 添加新网站

    实际上还有另外两种方法,但您忘记了:putSiteAction()patchSiteAction()(TBH,我不确定您为什么同时支持这两种方法)。更新现有站点配置时,您还需要能够更新其可用语言集。

    附言
    关于名称,由于您的控制器很可能已经被称为“站点”,我会调用方法postResourceAction()getResourceAction()getCollectionAction() 等,因为很难看出“帖子”和“发布”一目了然。而且它还会让“专门的方法”更加引人注目。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-30
      • 1970-01-01
      相关资源
      最近更新 更多