草庐IT

Doctrine_RawSql

全部标签

php - 在 Composer laravel 上安装依赖项(doctrine/dbal)

我正在尝试执行迁移以重命名某些列,但出现异常。当我阅读文档时,我必须将doctrine/dbal依赖项添加到我的composer.json文件中。我怎么做?这是正确的composer.json文件。我的应用程序中有很多。是与文件夹app、bootstrap、public和vendor处于同一级别的文件夹。如果是这样,我该如何添加该依赖项。我需要下载任何东西吗?顺便说一句,我使用的是easyphp,而不是wamp!编辑1之后控制台抛出这个错误 最佳答案 1)要安装依赖项,请运行此命令composerrequiredoctrine/db

php - 来自实体的 Doctrine 2 更新

是否可以通过以下类似的方式更新实体:$data=newATest();//myentity$data->id=1;//id1alreadyexists,Ijustwanttoupdatethisrow$data->name="ORMTested";//changedthename$entityManager->persist($data);$entityManager->flush();这将插入和更改对象的id,而不是更新数据库中的现有行。 最佳答案 你应该调用merge而不是persist:$data=newMyEntity();

php - Doctrine2 插入和检索新的插入 ID

在Doctrine2中使用类似的东西:$user=array('username'=>'example','passsword'=>'changeme');$conn->insert('users',$user);然后如何获取我刚刚插入的用户的最后一个ID?如果无法执行此操作,那么您如何生成一个ID以便您可以执行以下操作:$id=//somethinghere.$user=array('username'=>'example','passsword'=>'changeme','id'=>$id);$conn->insert('users',$user); 最

php - symfony 中没有通过 Doctrine 连接数据库

我正在编写symfony教程jobeet,我在通过doctrine获得到MySQL数据库的数据库连接时遇到了问题。开发环境:MacOSX和XAMPP。命令phpsymfonydoctrine:build-schema给我以下错误信息:Warning:PDO::__construct():[2002]Nosuchfileordirectory(tryingtoconnectviaunix:///var/mysql/mysql.sock)in/Users/xx/projects/myproject/lib/vendor/symfony/lib/plugins/sfDoctrinePlugi

mysql - Doctrine 2 DQL CASE WHEN in Count

我在原生MySQL代码中有这个查询SELECT*FROM`turn`LEFTJOIN(poi)ON(turn.id=poi.turn_id)GROUPBYturn.idORDERBYcount(casewhenpoi.image=1then1elsenullend)DESC;我需要在Doctrine2DQL中重建它到目前为止我的尝试是这样的:SELECTt,COUNT((CASEWHENBundle\Entity\Poip.image=1then1ELSENULLEND))ASnumFROMBundle\Entity\TurntJOINt.poispGROUPBYt.idORDERBY

mysql - 如何将复杂的 MySQL 查询转换为 Doctrine2

我正在尝试使用学说创建加权搜索。这就是我在直接sql中的做法。我想知道如何将其转换为我们的学说2方法。我正在尝试使用symfony2进行此搜索。此外,如果有更好的方法可以做到这一点,我愿意接受。谢谢。"SELECT*,IF(`name`LIKE"%$searchterm%",20,IF(`name`LIKE"%$searchterm%",10,0))+IF(`address`LIKE"%$searchterm%",5,0)+IF(`city`LIKE"%$searchterm%",1,0)AS`weight`FROM`table_name`WHERE(`name`LIKE"%$sear

mysql - 在 Symfony2 和 Doctrine 的 DateTime 字段中仅按时间搜索

我使用Symfony2和Doctrine。在我的数据库MySQL中,我有一个类型为DateTime的字段。在我的存储库文件中,通过使用QueryBuilder,我想在我的Where中仅按日期(无时间)和时间(无日期)在此表中搜索子句。我怎样才能意识到这一点? 最佳答案 您可以扩展和注册doctrine2中的DATE()函数来使用DQL。检查这个solution.现在,如果您不想扩展学说2,这里是我的解决方案:根据日期搜索:你可以得到一天开始的日期时间和结束的日期时间之间的间隔,我已经回答了here.这是约会最干净的解决方案(我认为)

php - 是否可以将 SQL 函数的结果用作 Doctrine 中的字段?

假设我有Product实体和附加到产品的Review实体。是否可以根据SQL查询返回的某些结果将字段附加到Product实体?就像附加一个等于COUNT(Reviews.ID)作为ReviewsCount的ReviewsCount字段。我知道可以在像这样的函数中做到这一点publicfunctiongetReviewsCount(){returncount($this->Reviews);}但我想用SQL来执行此操作以最大程度地减少数据库查询的数量并提高性能,因为通常我可能不需要加载数百条评论,但仍然需要知道那里的数量。我认为运行SQL的COUNT比浏览100个产品并为每个产品计算10

php - 如何使用 doctrine/symfony4 从数据库中获取(加入)两条记录

我正在学习Symfony和Doctrine并创建了一个简单的网站,但我被困在这一步。我有两个表:users和languages用户包含:id、用户名...语言包含:user_id、语言...这是两个的图像现在我正在尝试按语言获取,例如:获取同时会说english和french的用户,结果将返回用户ID2在普通PHP中,我可以使用PDO进行内部连接,但我正在尝试遵循教义语法,但这不会返回正确的结果publicfunctiongetMatchingLanguages($a,$b){return$this->createQueryBuilder('u')->andWhere('u.langu

php - 在 Doctrine 和 Symfony2 中使用自定义 DQL 函数时出错

我使用Symfony2和ORMDoctrine。我想创建并注册自定义DQL函数。事实上,我想在我的请求中使用SQL函数“CAST”,如下所示:$qb=$this->_em->createQueryBuilder();$qb->select('d')->from('\Test\MyBundle\Entity\MyEntity','d')->orderBy('CAST(d.myFieldASUNSIGNED)','ASC')return$qb->getQuery()->getResult();为此,我创建了一个扩展“FunctionNode”的“CastFunction”:namespac