草庐IT

doctrine

全部标签

php - 如何在 Symfony 中手动调度 Doctrine/Kernel 事件?

我需要手动发送一个preRemove事件,因为我正在软删除一个实体,因此并没有真正删除它。但是,我想在实际删除实体时触发相同的监听器。我可以像自定义事件那样使用EventDispatcher(不需要LifecycleEventArgs)吗?发送原版事件的最佳方式是什么?编辑:感谢bosam的回答,这是手动发送原版事件的方法:useDoctrine\ORM\Event\LifecycleEventArgs;useDoctrine\ORM\Events;$em=$this->getDoctrine()->getManager();$eventManager=$em->getEventMan

php - Doctrine2 自动生成类中的自定义函数

有没有办法扩展Doctrine2从数据库自动生成的类?示例:我有这个由Doctrine生成的User类。id;}/***SetfirstName**@paramstring$firstName**@returnUser*/publicfunctionsetFirstName($firstName){$this->firstName=$firstName;return$this;}/***GetfirstName**@returnstring*/publicfunctiongetFirstName(){return$this->firstName;}/***SetlastName**@p

php - CLI Doctrine 2 - 索引已经定义

我正在尝试从我的PHP实体中使用Doctrine2创建我的数据库。这是我来自类(class)团队的代码:user;}publicfunctionsetUser(User$user){$this->user=$user;}publicfunctiongetFunction(){return$this->function;}publicfunctionsetFunction($function){$this->function=$function;}publicfunctiongetDescription(){return$this->description;}publicfunction

php - Symfony:动态更改数据库

假设我有3个数据库:prefix_db1prefix_db2prefix_db3我想从这样的url动态连接到它们http://localhost/my-project/web/app_dev.php/db1/books所以我知道要连接到哪个数据库来自url(在本例中为prefix_db1)基本上,我们的想法是准备一个监听器,它将随每个http请求一起触发,从url中获取数据库名称,然后覆盖doctrin的参数,如下所示:在services.yml中:dynamic_connection:class:AppBundle\service\DynamicDBConnectorargument

php - Doctrine Regular vs Fetch 加入

在Doctrine上,regular和fetchjoin之间有什么区别?我不只是通过阅读docs得到它.//regular$query=$em->createQuery("SELECTuFROMUseruJOINu.addressaWHEREa.city='Berlin'");$users=$query->getResult();//fetch$query=$em->createQuery("SELECTu,aFROMUseruJOINu.addressaWHEREa.city='Berlin'");$users=$query->getResult();fetchjoin的目的是什么?

php - 如何避免与 Doctrine 的多对多关系中的重复条目?

我正在使用embedSymfonyform直接从文章编辑器添加和删除Tag实体。文章是owningside关于协会:classArticle{/***@ManyToMany(targetEntity="Tags",inversedBy="articles",cascade={"persist"})*/private$tags;publicfunctionaddTag(Tag$tags){if(!$this->tags->contains($tags))//Itisalwaystrue.$this->tags[]=$tags;}}条件在这里没有帮助,因为它始终为真,如果不是,则根本不会将

php - 在 ZF2 项目中启用 Doctrine 2 缓存

如何在使用ZendFramework2和Doctrine2的项目中启用缓存?究竟应该启用什么缓存,doctrine缓存还是zend缓存?这是我尝试过的,但在中添加的执行时间上看不到任何差异module\Application\config\module.config.php'doctrine.cache.my_memcache'=>function($sm){$cache=new\Doctrine\Common\Cache\MemcacheCache();$memcache=new\Memcache();$memcache->connect('localhost',11211);$ca

php - 如何覆盖 Symfony 中捆绑的 Doctrine 存储库

我有一个独立的Symfony包(与Composer一起安装),其中包含实体和存储库,可以在连接同一数据库的应用程序之间共享。使用配置(显示的yml)将实体附加到每个应用程序:doctrine:orm:mappings:acme:type:annotationdir:%kernel.root_dir%/../vendor/acme/entities/src/Entitiesprefix:Acme\Entitiesalias:Acme嗯,这是在应用程序中包含外部实体的最简单方法,但看起来有点难看。每当我从实体管理器获取存储库时:$entityManager->getRepository('

php - 用一个 SQL 查询拯救 20 个用户?

我在Doctrine中这样保存用户:$user=User();$user->name='peter';$user->save();有没有办法在一个sql查询中保存20个用户?还是我必须将上面的代码循环20次才能创建20个sql查询?谢谢 最佳答案 您可以将您的$user对象添加到Doctrine_Collection然后调用$collection->save(),它基本上会为您执行循环。 关于php-用一个SQL查询拯救20个用户?,我们在StackOverflow上找到一个类似的问题:

php - 默认情况下将 propel 设置为日期格式 getDate ("Y-m-d"),以便更好地与 zend toArray() 一起使用

我的查询返回一个包含日期字段的对象$obj=ObjectQuery::create()->findPK(11);var_dump($obj)将日期字段显示为yyyy-mm-dd就像它在数据库中一样$obj->getThedate();将格式更改为mm/dd/yy我不想发生这种情况$obj->getThedate("Y-m-d");在数据库中给我相同的格式yyyy-mm-dd因此,为了以与存储在数据库中的格式相同的格式获取数据,我需要在获取特定日期字段时设置格式,如第三行。问题是我没有单独读取日期字段。我将完整的$obj作为一个整体并使用Zend的toArray()将其转换为数组,因此我