草庐IT

Doctrine_Record

全部标签

php - Doctrine 和 Symfony 中的 MySQL 用户定义变量

我有以下Doctrine声明,效果很好。$query=$this->createQuery('r')->select('u.id,CONCAT(u.first_name,"",LEFT(u.last_name,1))asfull_name,u.first_name,u.last_name,u.gender,r.run_time')->innerJoin('r.ChallengeUseru')->orderBy('run_time')->execute(array(),Doctrine::HYDRATE_ARRAY_SHALLOW);我需要在其中添加行数。现在我知道使用原始SQL可以做到

MySQL查询utf-8字符(如中文)(还有,我用的是Doctrine)

$q=$this->createQuery('q')->where('q.group_id=?',$group_id)->andWhere('q.content=?',$content)->execute();如果我的$content包含任何unicode字符(例如中文/日文),这会导致以下消息:SQLSTATE[HY000]:Generalerror:1267Illegalmixofcollations(latin1_swedish_ci,IMPLICIT)and(utf8_general_ci,COERCIBLE)foroperation'='有没有人遇到过类似的问题?

mysql - 坚持 Doctrine2 时如何跳过专栏?

我有一列用于对象创建的时间,一列用于对象更新的时间。当我创建并保留新对象时,我从MySQL收到错误:updatedcannotbenull.我没有为它设置任何值,因为我希望updated列保持不变,并最终获得默认数据库值,无论它是什么。如何告诉doctrine只保留那些我明确设置/更改了值的列? 最佳答案 确保您的列定义将nullable定义为true。/***@Column(type="datetime",nullable=true)*/protected$updated; 关于mys

php - Doctrine createQueryBuilder 多条件 where 语句有点笨拙

我有一个itemid和一个类别id,它们都是有条件的。如果没有给出,则所有项目都显示为最新的拳头。如果给出了itemid,则仅显示id低于给定id的项目(用于分页)。如果给出类别ID,则仅显示特定类别中的项目,如果同时给出两者,则仅显示特定类别的项目,其中显示项目ID小于itemid的项目(下一页的项目)。因为参数是有条件的,所以在构建SQL字符串时,您会得到很多取决于参数的if语句(伪代码,我正在用php的东西耗尽我的美元符号):ifitemid'wherei.iid如果给出更多可选参数,这将变得非常困惑,所以我想我应该试试createQueryBuilder。希望是这样的:if($

mysql - Doctrine2/MySQL - 在多列上创建一个自动递增字段

我想知道是否可以有一个基于多列的自动递增字段?这是我的问题:我有一个表,它在LINES中存储CARTS。我为每个购物车都有一个唯一的ID,但我也想为每一行生成一个唯一的ID。所以我可以在一行中有一个唯一的CARTID。实际上,我想做的和MySQL文档中的这个例子完全一样:http://dev.mysql.com/doc/refman/5.0/en/example-auto-increment.html+--------+----+---------+|grp|id|name|+--------+----+---------+|fish|1|lax||mammal|1|dog||mamm

mysql - 在不丢失数据的情况下重命名 Doctrine 2 中的字段

这似乎是显而易见的事情,但我根本无法通过谷歌搜索找到信息。如何在不丢失数据的情况下重命名Doctrine2中的字段(即删除旧字段并创建新字段)?谢谢! 最佳答案 针对您的数据库手动运行SQL查询以重命名该字段。虽然存在Doctrine2模式工具,但它并不意味着用于修改生产数据库,因此不一定以不丢失数据的方式执行操作(此外,检测某些东西会有点棘手就像仅根据实体的元数据100%准确地重命名列一样) 关于mysql-在不丢失数据的情况下重命名Doctrine2中的字段,我们在StackOver

php - Doctrine 2 动态查询

我正在尝试使用Doctrine进行动态搜索查询。而且它不起作用$em=$this->getDoctrine()->getEntityManager();$city='newyork';$minprice=500;$maxprice=1000;$testquery="SELECTpFROMAcmeTestBundle:CarpWHEREp.city=:city";$testparam=array('city'=>$city,);if($minprice!=''){if($maxprice!=''){$testquery.="andp.priceBETWEEN:minpriceAND:ma

php - Doctrine2 原生查询多对多

我已阅读有关nativesql查询的Doctrine2文档。它不讨论由ManyToMany关系连接的实体。我不知道如何处理,任何想法或例子。 最佳答案 您只需手动将连接表添加到sql中即可。扩展Doctrine手册第14章中的示例:$rsm=newResultSetMapping;$rsm->addEntityResult('User','u');$rsm->addFieldResult('u','id','id');$rsm->addFieldResult('u','name','name');$rsm->addJoinedEnt

php - 如何解决active record $this->db->insert()实现一条 ‘INSERT IGNORE INTO’语句?

如何解决activerecord$this->db->insert()实现一个INSERTIGNOREINTO语句?google了很久,没找到解决办法 最佳答案 这是我的工作脚本!试试这个$inserting_data=array('user_id'=>$user_id,'user_name'=>$user_name,'id'=>$product_id,'cost'=>$click_cost,'price'=>$current_winner_amount,'auction_price'=>$new_value,'date'=>$th

php - 制定复杂的 Doctrine2 DQL 查询

鉴于我有一个包含许多AttendancePerson的Event($event)实例,我需要获取属于$event的所有AttendancePerson对象,其中AttendancePerson.person参加了多个具有匹配$event的calendar_id的事件->calendar_id以及AttendancePerson.event.dateTo在前一年结束的位置。架构减去不相关的列名:event_attendance_person-id-event_id-person_idevent-id-calendar_id-dateToperson-idevent_calendar-id