Php 一对一或多对一原则关系2

Php 一对一或多对一原则关系2,php,mysql,doctrine-orm,mapping,relationships,Php,Mysql,Doctrine Orm,Mapping,Relationships,我有以下情况 我有一个客户表和服务表 案例1 我想知道的是如何在Symfony2中制作一个提交表单(实际上,我认为如果你能在YML映射中指导我就足够了),它可以CRUD一个客户实体,它可以为它分配X服务 clients表只有id和nombre列,与服务相同 案例2 然后,完成后,我有一个名为task的新表。这个新表需要具有以下内容: 任务的客户端。 任务的服务,同时需要分配给该客户机,因此它依赖于客户机选择框(我可以用jQuery实现) 还有一些一对一的关系,实际上运作得很好 如果任务有多个客户

我有以下情况

我有一个
客户
表和
服务

案例1 我想知道的是如何在Symfony2中制作一个提交表单(实际上,我认为如果你能在YML映射中指导我就足够了),它可以CRUD一个
客户
实体,它可以为它分配X
服务

clients
表只有
id
nombre
列,与
服务
相同

案例2 然后,完成后,我有一个名为
task
的新表。这个新表需要具有以下内容:

任务的客户端。 任务的服务,同时需要分配给该客户机,因此它依赖于客户机选择框(我可以用jQuery实现) 还有一些一对一的关系,实际上运作得很好

如果任务有多个客户端,如果我可以使用
prototype
和forms collection或其他新的客户端在同一个表单上添加,当然,如果需要,还可以添加新的服务,那就太好了。。。但这完全是可选的,我真正失去的是案例1,因为我认为如果有人能帮助我解决案例1,那么案例2将很容易由我自己完成


当然,我不知道该用什么,在这两种情况下,一个是一个还是多个…

我强烈建议:

但长话短说,如果您想要双向关系,这里是您的YAML for
case1

Client:                          // dont forget namespace
  type: entity                  
  table: client
  id:
    id:
      type: integer
      generator: { strategy: AUTO }
  fields:
    number:
      type: integer
  oneToMany:                        // each client has many services
    services:                       // the variable to store services of client
      targetEntity: Service
      mappedBy: client              // the variable to store client of a service
Service:
...                                 //same as above
  manyToOne:
    client:
      targetEntity: Client 
      inversedBy: services         

我没有正确理解案例2。

当我这样做时,一旦我使用
原则:generate:entities
生成实体,它将返回此错误
[Symfony\Component\Debug\Exception\ContextErrorException]注意:未定义索引:mappedBy位于/var/www/pge/dev.pge/vendor/doctrine/orm/lib/doctrine/orm/Mapping/Driver/YamlDriver.php第367行
好的,它可以工作。但假设我有6项服务,但我想如果在提交表单上选择了
client1
,那么
services
列表只显示了这6项记录中的3项。。。我该如何处理呢?我认为您应该阅读更多关于关系数据库以及symfony2处理它的方式的信息。但是,如果您查看客户机实体,您会发现方法
getServices()
,您可以使用它访问每个客户机服务。我已经阅读了相关内容,并且正在考虑
getServices()
,但我不知道如何处理它。。。说真的,我对此很迷茫,通常我使用了很多数组和其他东西,但是Symfony2是不同的。。。