草庐IT

Doctrine_Record

全部标签

mysql - 使用 Doctrine 跟踪表上的数据更改

所以情况是我在我的一个项目中使用Doctrine作为ORM。现在我希望能够跟踪在我网站的某些表格上发生的更改,而无需为此编写太多额外的代码。例如。我有一个有很多表的数据库。除此之外,我有一个表users我想跟踪所做的更改1.users具有值为“Raman”的列名称2.使用下面的更新sql修改行更新用户集name='RamanJoshi'wherename='Raman'doctrine中是否有任何内置功能允许创建日志表来跟踪已完成的所有数据级别更改日志? 最佳答案 你可以使用DoctrinepreUpdateeventlistene

mysql - Symfony2 和 Doctrine : Order entites by foreign attribute

我想使用选择来获取带有DoctrinesQueryBuilder的实体数组。但我需要一个ORDERBY,它使用一个外部属性(与外键相关的表中的属性)。我想直观地写的是这样的:$repo=$this->getDoctrine()->getRepository('MyBundle:relation_table');$query=$repo->createQueryBuilder('r')->orderBy('r.fevent.date','DESC')->getQuery();毫不奇怪,这不起作用。在SQL中,我的SELECT看起来像这样:SELECTr.*FROMrelation_tab

mysql - 将 Doctrine 2 与现有的 MySQL 数据库一起使用

我们第一次使用Symfony2,我的公司使用现有的MySQL数据库。是否有可能将其“导入”到教义中,或者我们可以只使用这个数据库吗并在我们现有的表格之后创建php/doctrine实体?如果您有关于此主题的好东西可以阅读,请将其发布。谢谢,皮特 最佳答案 从实体定义创建数据库显然比从现有数据库创建实体更好。这是Doctrine2的主要缺点...但如果您有一个“健全的”现有模型,这是可能的,而且并不那么复杂。这是来自myTODOlistformodelreverseengineering的一些内容:使用名为“id”的auto_incr

mysql - Doctrine 2.3 - 由于特殊字符,文本字段未保存

我花了几个小时来调试算法并注意到它来自Doctrine(v2.3.3)。我正在使用libpuzzle来计算图像的哈希值并将此哈希值存储在数据库中。返回的散列中有特殊字符,显然Doctrine不喜欢它。这是我拥有的那种字符串(~550个字符):ÿ�þÿÿþ�þþÿþÿþÿþþ�þÿþÿÿÿ�ÿþþÿþÿ�ÿÿþÿþÿþþÿþþÿÿÿþÿþþþþÿþ�þþþÿ�ÿÿ�ÿÿþ�þÿþÿþÿþÿþþÿþÿÿÿþþÿþþþþÿþþþþ���ÿÿ�ÿ�þþ�þÿÿþþþÿÿþÿþþÿþþþÿþ...我调查过,发现有人说要在配置中添加字符集,但我已经有了:#DoctrineConfiguration

php - Symfony/Doctrine 重新排列数据库列

当我使用doctrine:schema:update命令行生成一个表时,Doctrine(或Symfony?)似乎想要输入一个重新排列我的列的命令,将键放在它会出现的前面。我想知道是否,更希望在哪里,我可以禁用环境的这个“功能”,所以当我去生成我的表时,它们按照我输入它们到orm中的顺序保存。我四处寻找这个问题,但似乎没有其他人能从我能想到的东西中得到它,而且我不确定我需要什么bundle/Doctrine或Symfony的一部分改变让它不想重新排列我的table。任何关于包的哪一部分将包含此逻辑,或者我可以添加什么选项来改变它的任何信息都将不胜感激,因为到目前为止我无法真正在文档中找

php - Codeigniter Active Record - 选择字符串作为列

我有以下作为标准MySQL查询的工作正常:SELECT'page'ASresult_type,...但是,我需要使用codeigniter框架中的事件记录创建此查询。我试过这个:$this->db->select('\'page\'ASresult_type');但这会返回一个错误,提示Unknowncolumn''page''in'fieldlist'我尝试过其他各种类似的方法,但都失败了。这在ActiveRecord中甚至可能吗?如果可以,您能给我指明正确的方向吗?? 最佳答案 您确定您的表列名称是“page”吗?为什么会这样命

php - 使用 Doctrine querybuilder 正确转义 LIKE 查询

我正在尝试使用DoctrineQueryBuilder进行LIKE查询。我阅读了其他各种问题和文章,我必须正确地避免这种类型的查询,但我不明白Doctrine是否会自己做。以此数据为例:my_columnABCABCDA%BCD和下面的输入数据ABCABCDAA%我期望这些结果:SELECT*FROMmy_tableWHEREmy_columnLIKE"%ABC%"=>ABC,ABCDSELECT*FROMmy_tableWHEREmy_columnLIKE"%ABCD%"=>ABCDSELECT*FROMmy_tableWHEREmy_columnLIKE"%A%"=>ABC,ABC

php - Doctrine2 Symfony2 分页器因 orderBy 而失败

在Repo中使用此代码$builder=$this->createQueryBuilder("s");$builder->addOrderBy("s.name","ASC");$pagi=newPaginator($builder->getQuery(),true);$data=$pagi->getIterator()->getArrayCopy();导致这个错误SQLSTATE[HY000]:Generalerror:3065Expression#1ofORDERBYclauseisnotinSELECTlist,referencescolumn'dctrn_result.name_

php - Doctrine YML 映射引用

解析商店实体“生产者”,其中包括带有属于该实体的翻译的数组。保存数据库成功。但是,在包含翻译的表中缺少指向“生产者”表的链接。这个结果:我的制作人:+----+----+|id|code|+----+----+|1|abcd|+----+----+my_producer_translations+----+-----------+----+------+|id|id_producer|name|locale|+----+-----------+----+------+|1|NULL|abcd|en|+----+-----------+----+------+|2|NULL|abcd|d

php - Doctrine 2 Symfony 2 在没有映射的情况下获取外键实体

所以我对Symfony和Doctrine还很陌生。我想知道是否有一种方法可以询问doctrine有哪些外键,而不必在模型中映射关系。例如,假设您有CoreBundle:Company,它总是会出现,然后您有OptionalBundle:Client,它将使用扩展Company@OneToOne映射关系,自己多加几个字段。问题是,由于OptionalBundle可能不存在,我不希望从CoreBundle到OptionalBundle的显式映射。现在假设一个用户出现并试图删除Company(5)。如果实体被完全映射,它会通过级联删除两者,但由于bundle不会意识到映射关系,它最终只会删除