草庐IT

doctrine_registry

全部标签

php - 使用 Symfony 从 Doctrine 模型创建数据库

我已经使用SQLCREATEDATABASE命令创建了一个新数据库来托管我的应用程序表。我现在将使用Doctrine从我的Symony2.1项目生成数据库。我已经有了正确的映射YML-PHP实体,但是当我尝试使用命令时phpapp/vendorsdoctrine:schema:create它在我的应用程序中运行的查询失败。我不明白的是为什么它似乎在尝试启动我的包,但显然它失败了,因为我执行的查询找不到表。如何生成新数据库?Basetableorviewnotfound:1146Table'mydatabase.mytable_menu'doesn'texist

php - doctrine 2 和 zend framework 2 如何使用缓存?

请问我在这里需要一些帮助,我已经搜索了很多但没有结果:/我如何利用存储在内存缓存中的查询及其结果,我正在使用zend框架2和学说2?这是我在module.config.php中的配置://Doctrineconfig'doctrine'=>array('driver'=>array(__NAMESPACE__.'_driver'=>array('class'=>'Doctrine\ORM\Mapping\Driver\AnnotationDriver','paths'=>array(__DIR__.'/../src/'.__NAMESPACE__.'/Entity')),'orm_de

php - Doctrine - Symfony 查询错误

我确实有一个错误,但我不知道如何修复它。$query=$entityManager->createQuery("UPDATEAppBundle:ChangeAPISET`key`='asd123'WHERE`id`=1");$query->execute();我的AppBundle:ChangeAPI/***@ORM\Entity*@ORM\Table(name="api")*/classChangeAPI{/***@ORM\Column(type="integer")*@ORM\Id*@ORM\GeneratedValue(strategy="AUTO")*/protected$id

php - 如何在 Doctrine 中对 more andWhere 或 Where 进行分组

SELECT*FROMdgWHERE(a1)OR(a>1AND((c=3ANDB我不确定如何正确分组更多andWhere和orWhere。我找到了组moreAND的示例,但没有找到OR的示例。对于实验。WHEREa=1AND(a>1Orb=2)AND(a>1ORc=2)工作查询是:publicfunctionmyQuery(){return$this->createQueryBuilder('dg')->where("a=1")->andWhere("a>1ORb=2")->andWhere("a>1ORc=3")->getQuery()->getResult();}我如何在Doctr

php - Doctrine 中的额外 changeColumns generate-migrations-diff

我在不同的yaml模式文件之间生成迁移:即运行:symfonyDoctrine:生成迁移差异生成的迁移文件包含大量未在上次架构文件更改中添加的changeColumn调用。例如,如果您在不更改模式文件的情况下运行generate-migrations-diff,您应该得到一个空的up()函数。但是,为我生成的函数对我数据库中的几乎每个表都有一个changeColumn调用。我做错了什么还是这是一个错误? 最佳答案 generate-migrations-diff不会区分两个不同的yaml文件。它实际上比较你的模型和你的yaml文件,

php - 复制一个包含所有关系的 Doctrine 对象

我想复制一条他所有亲戚的记录。我正在尝试:$o=Doctrine::getTable('Table')->Find(x);$copy=$object->copy();$relations=$o->getRelations();foreach($relationsas$name=>$relation){$copy->$relation=$object->$relation->copy();}$copy->save();这段代码不起作用,但我认为它正在路上。 最佳答案 我一直无法使深层复制功能正常运行。我像这样为我的一个模型手动编写了深

php - Doctrine 通过魔法查找空值

我想知道是否有使用doctrine的神奇方法来查找空值的方法。例如:Doctrine::getTable('myClass')->findByDeletedAt(null);本质上,我想返回所有没有被删除的记录。我试过上面的方法,但似乎不起作用。有什么想法吗? 最佳答案 尝试这个给了我错误:Catchablefatalerror:Argument1passedtoDoctrine\ORM\EntityRepository::findBy()mustbeanarray,stringgiven所以这对我有用:$repository->f

php - Doctrine 2.0 准备好使用了吗?

我正在做一个小项目(学校学科部门的一些分数跟踪软件-带有sqlite数据库的PHP前端)并决定使用ORM。我看过RedBeanPHP,但它似乎对我来说太有限了。因此,我决定尝试一下Doctrine。我之前唯一的ORM经验是.NET中的LINQtoSQL。无论如何,我想知道我是否应该开始使用Doctrine2.0(目前处于测试阶段)或者我是否应该花一些时间学习1.2。我正在寻找对两者都感到满意的人的反馈,更重要的是,我想知道Doctrine2.0文档的完整性。网站上是否有足够的信息供Doctrine新手(以及ORM新手)启动和运行2.0,或者新版本的文档是否仍然很缺乏?

php - Doctrine2 在字段数组中按值查找

我想知道是否有一种方法可以搜索如下所示的文档字段:/***@vararray**@ORM\Column(name="tags",type="array",nullable=true)*/private$tags;在数据库中看起来像php数组解释:a:3:{i:0;s:6:"tagOne";i:1;s:6:"tagTwo";i:2;s:8:"tagThree";}现在我尝试通过尝试的标签搜索实体publicfunctionfindByTag($tag){$qb=$this->em->createQueryBuilder();$qb->select('u')->from("myBundle

php - Doctrine 返回不同数组中的连接查询

$query=$this->createQueryBuilder('p');$query->select('s','p')->innerJoin('test\Entity\ProductQuantity','s',\Doctrine\ORM\Query\Expr\Join::WITH,'p.sku=s.sku')->orderBy('p.productId','DESC');return$query->getQuery()->getResult();这个查询必须返回2个表的结果,我得到的是:result=array([0]=>'table1',[1]=>'table2',[2]=>'t