首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Symfony 2-如何在三个实体之间建立多到多关系的关系

Symfony 2-如何在三个实体之间建立多到多关系的关系
EN

Stack Overflow用户
提问于 2015-05-22 02:28:50
回答 1查看 524关注 0票数 0

我的应用程序使用Symfony2,关系映射使用Doctrine .orm.yml文件。

我有以下三个实体:

  1. 包含id(整数主键)、user_name(varchar)的用户实体
  2. 项目组合实体,包含id(整数主键)、名称(Varchar)、user_id (用于识别创建组合的用户的FK)。
  3. 包含id(整数主键)、progress_text(varchar)的进度实体

我的问题是,我不知道如何在三个实体(投资组合、用户和进度)之间设置多个关系。

我希望以这样的方式设置一个关系,即作为这种关系的结果创建的新表包含以下字段:

  1. user_id
  2. portfolio_id
  3. progress_id
  4. created_at
  5. updated_at
  6. 类型

在上面的列表中,created_at、updated_at和type是我要用于某些业务规则的字段。

请有人帮我写他们的.orm.yml文件。据我所知,Symfony2中有内置的命令生成实体及其相应的.orm.yml文件。但我不知道如何在相应的文件中写入上述所需的关系。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-22 02:51:31

您需要为这种关系创建单独的关联表。您的ORM文件将类似于:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Application\Bundle\Entity\nameofAssociationTable:
  type: entity
  table: nameofAssociationTable
  fields:
    id:
      type: integer
      id: true
      generator:
        strategy: AUTO
  manyToOne:
user:
      targetEntity: Application\Bundle\Entity\User
      cascade: {  }
      mappedBy: null
      inversedBy: null
      joinColumns:
        user_id:
          referencedColumnName: id
      orphanRemoval: false
portfolio:
      targetEntity: Application\PLibBundle\Entity\Portfolio
      cascade:
        - persist
        - remove
      mappedBy: null
      inversedBy: null
      joinColumns:
        portfolio_id:
          referencedColumnName: id
      orphanRemoval: false
  lifecycleCallbacks: {  }

同样,您需要将关系添加到manytoOne关系中。谢谢。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30394355

复制
相关文章
[Leetcode][python]Word Break/Word Break II/单词拆分/单词拆分 II
给定一个目标字符串和一组字符串,判断目标字符串能否拆分成数个字符串,这些字符串都在给定的那组字符串中。
蛮三刀酱
2019/03/26
1.3K0
动态规划:单词拆分
题目链接:https://leetcode-cn.com/problems/word-break/
代码随想录
2021/02/26
8650
动态规划:单词拆分
139. 单词拆分
题目 /** * 给定一个非空字符串 s 和一个包含非空单词的列表 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。 * 说明: * 拆分时可以重复使用字典中的单词。 * 你可以假设字典中没有重复的单词。 * * 示例 1: * 输入: s = "leetcode", wordDict = ["leet", "code"] * 输出: true * 解释: 返回 true 因为 "le
名字是乱打的
2021/12/23
4280
139. 单词拆分
给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。
张伦聪zhangluncong
2022/10/26
2660
140. 单词拆分 II
给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,在字符串中增加空格来构建一个句子,使得句子中所有的单词都在词典中。返回所有这些可能的句子。
张伦聪zhangluncong
2022/10/26
1730
LeetCode 0139. 单词拆分[动态规划详解]
给定一个非空字符串 s 和一个包含非空单词的列表 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。
Yano_nankai
2021/04/12
5310
LeetCode 0139. 单词拆分[动态规划详解]
Leetcode 139. 单词拆分
给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。
zhipingChen
2019/06/19
9390
HDU 1247 字典树 拆分单词
Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 6381    Accepted Submission(s): 2378
csxiaoyao
2019/02/18
5200
LeetCode 0140. 单词拆分 II[动态规划详解]
给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,在字符串中增加空格来构建一个句子,使得句子中所有的单词都在词典中。返回所有这些可能的句子。
Yano_nankai
2021/04/12
4390
LeetCode 0140. 单词拆分 II[动态规划详解]
LeetCode 139. 单词拆分(DP)
给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。
Michael阿明
2020/07/13
3880
LeetCode 139. 单词拆分(DP)
高频面试系列:单词拆分问题
读完本文,可以去力扣解决如下题目: 139. 单词拆分(中等) 140. 单词拆分II(困难)
labuladong
2022/09/01
6550
高频面试系列:单词拆分问题
Leetcode|完全背包|139. 单词拆分
1 动态规划(完全背包) 基于问题本身,先背包后物品的顺序比较方便,也好理解 class Solution { public: bool wordBreak(string s, vector<string>& wordDict) { int bagSize = s.size(); vector<bool> dp(bagSize + 1, false); dp[0] = true; for (int j = 1; j <= bagSi
SL_World
2021/09/18
3850
刷题第6篇:单词拆分
我们使用递归的方法。每当遍历到一个字典中的单词之后,记录下当前的索引值,然后继续向后遍历。如果遍历到最后一个字符,恰好连接前面的字符,属于字典中的单词,则将此分割方式记录下来。
鹏-程-万-里
2020/02/26
3580
Leetcode No.140 单词拆分 II(DFS)
给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,在字符串中增加空格来构建一个句子,使得句子中所有的单词都在词典中。返回所有这些可能的句子。 说明: 分隔时可以重复使用字典中的单词。 你可以假设字典中没有重复的单词。
week
2022/01/06
5780
​LeetCode刷题实战139:单词拆分
https://leetcode-cn.com/problems/word-break/
程序员小猿
2021/01/19
3960
Leetcode No.139 单词拆分(动态规划)
给定一个非空字符串 s 和一个包含非空单词的列表 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。
week
2021/11/29
5420
Leetcode No.139 单词拆分(动态规划)
在ASP.NET 5中使用SignalR
题记:SignalR作为ASP.NET中进行Web实时双向通信的组件,在ASP.NET 5中也得到了同步发展。不过,用法和之前还是在细节上有所不同,而资料又相对稀少。本文就是一个简单的入门向导。 通过SignalR,开发人员可以在ASP.NET开发的Web应用中实现服务器和客户端的双向实时通信。服务器可以即时推送内容给在线的客户端。SignalR首选Web Sockets作为底层实现,针对非现代浏览器也可以回退到其他兼容技术。它的特性很丰富,支持链接管理、分组连接和授权控制等。 在ASP.NET 5时代,S
逸鹏
2018/04/10
3.3K0
在ASP.NET 5中使用SignalR
英语单词记忆法拆分2000个_usually拆分记忆
给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,在字符串中增加空格来构建一个句子,使得句子中所有的单词都在词典中。返回所有这些可能的句子。
全栈程序员站长
2022/09/22
3160
Asp.net中文本框全选
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/105743.html原文链接:https://javaforall.cn
全栈程序员站长
2022/08/09
1.4K0
在 Linkerd 中实现流量拆分功能
在 Linkerd 中,金丝雀发布是通过流量拆分来管理的,这项功能允许你根据可动态配置的权重,将请求分配给不同的 Kubernetes 服务对象。虽然流量分割可以适用于任意的 Service 对象,但一般情况下是将一个 Service 的传入流量分给不同版本的 Service。
我是阳明
2022/09/29
1.1K0
在 Linkerd 中实现流量拆分功能

相似问题

使用vba在文本框中查找单词

11

使用Regex拆分单词

24

使用CSS拆分单词

60

在SQL Server中拆分单词

214

在camelCase javascript中拆分单词

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文