草庐IT

Doctrine_RawSql

全部标签

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 - 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 - 未找到 Doctrine 映射案例

我有一个引用表B的表A。编辑:使用的数据库引擎是MyISAM。Doctrine映射就像一个魅力,除非我在数据库中有无效的情况,表A中引用的ID在表B中并不存在。所以当你执行这段代码时:$objectB=$objectA->getObjectB();//withlazyload您实际上得到了$objectB代理对象,它不为空。所以!empty($objectB)将通过。当您尝试访问$objectB的任何属性时,例如:$objectB->getName();您得到未找到实体异常。您无法在代码中预测$objectB实际上不存在并且$objectB没有Name属性。$objectB实际上应该设

php - symfony 1.4中使用Doctrine ORM更新mysql表时如何获取结果信息

我正在使用symfony1.4进行开发并使用DoctrineORM。在构建模式和模型之后,我得到了一些用于处理数据库的类。我也可以使用Doctrine_query....唯一我无法理解的是:我需要更新表格。Doctrine_Query::create()->update('table')->.....->execute().或$tbl=newTable();$tbl->assignIdentifier($id);if($tbl->load()){$tbl->setFieldname('value');$tbl->save();}我怎么知道查询结果是否成功?以及更新了多少行。附注同样的问

php - doctrine2 额外延迟获取关联

我有一个Thread实体,它与Message实体有一个OneToMany关联。我正在使用DQL查询获取线程,我想将其消息数量限制为10。因此我将获取模式设置为EXTRA_LAZY,如下所示。classThread{//.../***@varArrayCollection*@ORM\OneToMany(targetEntity="Profile\Entity\Message",mappedBy="thread",fetch="EXTRA_LAZY")*@ORM\OrderBy({"timeSent"="ASC"})*/protected$messages;}这允许我使用slice方法向数