Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Symfony 在不同提供程序包之间创建实体关系_Symfony_Doctrine Orm_Event Listener - Fatal编程技术网

Symfony 在不同提供程序包之间创建实体关系

Symfony 在不同提供程序包之间创建实体关系,symfony,doctrine-orm,event-listener,Symfony,Doctrine Orm,Event Listener,我正在通过packagist.org开发我的第一个Symfony2捆绑包“可分发”,对于如何将“用户实体”从“实际项目”关联到“此外部捆绑包”,我有一些问题 我所做的: 我专门为我的包创建了一个GIT存储库 我已经创建并配置了composer.json文件,如packagist.org中所述 从general config.yml/app/config/config.yml 将作为参数发送到捆绑包 //KDRMKLabs\TicketBundle\DependencyInjection\Conf

我正在通过packagist.org开发我的第一个Symfony2捆绑包“可分发”,对于如何将“用户实体”从“实际项目”关联到“此外部捆绑包”,我有一些问题

我所做的:

  • 我专门为我的包创建了一个GIT存储库
  • 我已经创建并配置了composer.json文件,如packagist.org中所述
  • 从general config.yml
    /app/config/config.yml
    将作为参数发送到捆绑包
  • //KDRMKLabs\TicketBundle\DependencyInjection\Configuration.php
    类配置实现了ConfigurationInterface
    {
    公共函数getConfigTreeBuilder()
    {
    $treeBuilder=新的treeBuilder();
    $rootNode=$treeBuilder->root('kdr_票证');
    $rootNode->children()
    ->scalarNode('user_class')->isRequired()->cannotBeEmpty()->end()
    ->完()
    ;
    返回$treeBuilder;
    }
    }
    
    #app\config\config.yml
    kdr_票:
    用户\u类:AppBundle\Entity\user
    
    //kdrmklab\TicketBundle\DependencyInjection\KDRTicketExtension.php
    类KDRTicketExtension扩展了扩展名
    {
    公共函数加载(数组$configs,ContainerBuilder$container)
    {
    $configuration=新配置();
    $config=$this->processConfiguration($configuration,$configs);
    $loader=newloader\XmlFileLoader($container,newfilelocator(_DIR__.'/../Resources/config');
    $loader->load('services.xml');
    $container->setParameter('kdr_ticket.model.user.class',$config['user_class']);
    }
    }
    
    四,。票证实体

    /**
    *票
    *
    *@ORM\Table(name=“kdr_票证”)
    *@ORM\Entity
    */
    班票
    {
    /**
    *@var整数
    *
    *@ORM\Column(name=“id”,type=“integer”)
    *@ORM\Id
    *@ORM\GeneratedValue(strategy=“AUTO”)
    */
    私人$id;
    /**
    *我如何告诉Doctrine这个对象是config.yml中指定的?
    */
    私人用户;
    ...
    }
    
  • 在安装捆绑包时或在安装捆绑包后首次更新数据库时使用用户实体
  • 当您使用命令更新数据库时,如何使用config.yml中指定的“用户实体”来创建形式为“ManyToOne”的关系

    谢谢你的帮助。
    谢谢。

    这可能会有所帮助:但是跨独立捆绑包关联实体可能很棘手。非常感谢。这正是我所需要的。这可能会有所帮助:但是跨独立bundle关联实体可能很棘手。非常感谢。这正是我需要的。