草庐IT

doctrine

全部标签

php - Doctrine 2 获取对 id=>value

你好,我有一个简单的问题。我正在使用Doctrine2,我需要从特定表中获取对作为数组。例如,我有表"Category"和列('id','name','description',...)我想获取所有行数组格式(category.id=>category.name)如下:array(7=>'News',8=>'Sport',11=>'Work')(在此示例中,我只有3个ID为7、8、11的类别)。有什么简单快捷的方法吗? 最佳答案 我认为,在这种情况下,您应该编写自己的自定义水化器CustomHydrationModes

php - Doctrine 选择空值

是否有可能执行如下操作:$builder=$this->getEntityManager()->createQueryBuilder();$builder->select('f.id',...'NULLASmissing_attribute')->from(...,'f')...;并避免:Doctrine\ORM\Query\QueryException:...got'NULL' 最佳答案 解决方法来自https://github.com/doctrine/orm/issues/1670#issuecomment-591495663

php - 如何完全刷新具有@OneToMany 关系的实体?

在我的项目中有一个Cart和一个CartItem实体,如下所示:classCart{/***@OneToMany(targetEntity="CartItem",mappedBy="cart")*/private$items;//...}classCartItem{/***@ManyToOne(targetEntity="Cart",inversedBy="items")*@JoinColumn(name="cart_id",referencedColumnName="cart_id")*/private$cart;//...}如果我调用EntityManager::refresh($

php - 使用 PHPUnit 对 Doctrine 对象进行单元测试

我开始尝试使用PHPUnit测试我的Doctrine对象,并且希望每次都从我的模型对象重新加载数据库。我的第一次尝试看起来像这样:classTests_UserextendsPHPUnit_Framework_TestCase{publicfunctionsetUp(){Doctrine_Manager::connection('mysql://user:pass@localhost/testdb');Doctrine::createDatabases();Doctrine::createTablesFromModels('../../application/models');}pub

php - 禁用项目时如何在 Symfony 中迁移 Doctrine 数据库

所以我用禁用了我的网站symfonyproject:disable--env=prod并将我的新代码同步到服务器。但是现在当我运行的时候symfonydoctrine:migrate--env=prod我收到该网站当前不可用的警告。我显然(还)不想启用该项目,因为我首先想让它一切正常。执行此操作的正确方法是什么? 最佳答案 你是对的。这在默认情况下不起作用。如果您的生产数据库在您的开发机器上可用,您可以通过以下方式在此机器上开始迁移:$>phpsymfonydoctrine:migrate--env=prod这就是我在部署脚本中所做

php - 将派生字段添加到 Doctrine_Record 子类的最佳方法是什么?

假设我有一个名为“item”的表,其中有一列名为“price”。除了全价之外,我还想获得12个月的价差,即classItemextendsDoctrine_Record{...publicfunctiongetMonthlyPrice(){return$this->price/12;}}现在,假设我想让Item表现得像每月价格只是另一列而不是函数调用,例如,$m=Doctrine_Core::getTable("Item")->find(1);echo$m->price;//prints120echo$m->monthlyPrice;//prints10我的第一直觉是覆盖__get()

php - Doctrine 2.0 是否像 Propel 1.5 那样预先生成模型类?

Propel可以根据模式文件生成类。一些生成的类是:对象(例如用户)对等点(例如UserPeer)查询(例如UserQuery)对象类(用户)包括所有属性的getter和setter。例如$user=newUser();echo$user->getEmailAddress();我的问题是:Doctrine2.0可以做到这一点吗?它是否生成基类并添加getter和setter? 最佳答案 是的,Doctrine2确实支持类生成的模式,我更喜欢YAML而不是XML,所以这里是覆盖http://www.doctrine-project.o

php - 在 Symfony 2 项目中安装 Doctrine 扩展会导致 fatal error

这就是问题所在:我没有成功安装带有symphony2的学说扩展,尤其是时间戳。我关注thistutorial我是如何进行的:我在deps文件中添加了这一行:[gedmo-doctrine-extensions]git=http://github.com/l3pp4rd/DoctrineExtensions.git[Stof-DoctrineExtensionsBundle]git=https://github.com/stof/StofDoctrineExtensionsBundle.gittarget=/bundles/Stof/DoctrineExtensionsBundle然后我

php - 我怎样才能序列化一个(复杂的)学说 2 对象?

我正在使用Doctrine2(在ZendFramework中,周围没有Symfony2)。我有一个“复杂”的doctrine2对象,它与其他两个对象具有一对多关系。我的对象的结构是这样的:$object->attribute1="foo";$object->attribute2="bar";$object->doctrineCollection1=;$object->doctrineCollection1=;我想以某种方式将它存储到ZendCache中。序列化完整对象的最佳方法是什么?我还尝试弄清楚如何将其编码为JSON以获得提示,但尚未成功。 最佳答案

php - Doctrine2 存储库、多对多关联和 Twig 模板 : best practices

我有以下问题:假设我们有一个实体,例如事件。在EventRepository类中,我添加了一些方法来查询某种事件。在EventController中,我有一个事件集合。最后一步-在模板中显示所有这些事件。基本上没什么难的:{%foreventinevents%}...{%endfor%}但我还有一个附加条件:我需要显示参加每个事件的用户(例如,每个事件有10个用户)。事件链接到具有多对多关联的用户。好的,我已将方法添加到EventRepository以查找事件参与者。但是我无法访问Twig模板中的EventRepository...:(我看到三个选项:(快速而巧妙)通过实体直接获取参与