Doctrine 检索关系时是否可以添加WHERE子句?

在理论中,在获取与关系对应的对象的属性时,是否可以添加WHERE子句 就概念而言,假设我只想检索过去5天内发表的前3篇博客文章。我的“blog”对象有一个定义为关系的“posts”属性 更新 因为有些人在理解我所说的关系时遇到了一些困难: class Blog extends Doctrine_Record { ... public function setUp() { $this->hasMany("Note as Posts",

Doctrine 删除多对多表中的记录

我正在关注Symfony 2书的安全章节 有一个示例,其中有一个表用户和组。用户和组之间存在多对多关系,这在数据库中创建了一个名为用户组的表 我想从用户组中删除一条记录,例如: DELETE from USERGROUPS WHERE user_id = 1 and group_id = 1 我不知道怎么做,因为我没有USERGROUPS.php表文件 例如,使用DQL,我希望能够做到这一点: $em = $this->getDoctrine()->getEntityManage

Doctrine 停止获取相关实体

当通常使用条令从数据库中获取实体时,您会将所有相关实体作为实际类获取,如果您有很多关系,这将导致一个巨大的JOIN查询 但有时我只想得到实际的对象,而不是所有相关的实体,只是它们的ID 有没有可能告诉条令只取主要实体而不去管关系 更新:抱歉,错过了版本:我在一个旧项目上使用原则1.2。默认原则使用“延迟加载”:如果您不尝试访问相关实体,它将不会检索它们 如果只使用主实体的ID,它将永远不会检索关联的实体 如果你想让它更懒惰,试着使用额外的惰性这很奇怪,我的分析说明了一些不同的东西。。。它使巨大的

Doctrine 将理论迁移与Silex集成

我正在尝试使用Silex设置学说迁移,但在开始时遇到了问题。 文档说明需要加载并注册控制台命令,但我不确定在silex中注册哪个提供程序,也不确定将控制台命令放置在何处 这是我的文件结构 Top - app - src - Alpha - Controller - Migration - Model - View - alpha.php

Doctrine 对null上的成员函数setValue()的ArrayCollection调用

我正在使用Zend Framework 3编写一个应用程序。为了管理数据库,我决定使用条令 我对教义有一个奇怪的问题。我建立了以下结构: namespace Hotels\Entity; use Doctrine\Common\Collections\Collection; use Doctrine\Common\Collections\ArrayCollection; use Doctrine\ORM\Mapping as orm; /** * @orm\Entity * @orm\Tab

Doctrine 如何为bin/console启用条令:模式名称空间?

我正在尝试将此捆绑包添加到我的项目中: 我能够添加捆绑包并在内核中激活它,但是当我尝试“php bin/console原则:schema:update--force”部分时,我得到一个错误: There are no commands defined in the "doctrine:schema" namespace. Did you mean one of these? doctrine doctrine:cache doctrine:databas

Doctrine Symfony原则\u使用内部联接进行查询删除

我使用的是symfony+原则,我想用连接执行删除查询。下面是我目前正在使用的代码,效果很好 $sql = 'DELETE a FROM a INNER JOIN b ON a.b_id = b.id WHERE b.c_id = :c_id'; $pdo = Doctrine_Manager::getInstance()->getCurrentConnection()->getDbh(); $stmt = $pdo->prepare($sql); $params =

Doctrine 如何使条令刷新/重新同步双向实体关联?

我有一个与另一个实体有双向多通/一通关系的实体: class BookShelf { /** * @OneToMany(targetEntity="Book", mappedBy="shelf", cascade={"persist"}) */ public $books; } class Book { /** * @ManyToOne(targetEntity="BookShelf", inversedBy="books", cascade={"persist"})

Doctrine 关于使用原则1.0仅获取在具体字段中具有具体值的表的行的问题

是否只获取具有具体属性的表的行 具体字段中的值 例如: $24_people = $table->getFieldAndValue('age', 24); 我现在可以用一个查询来完成它,但是你不觉得这样有用吗 功能的定义?或者可能是不可能或不方便,因为 原因 问候 Javi你的意思是这样的: $table->createQuery()->where('age = ?', 24); 或: 是的 $24_people = Doctrine::getTable('People')

Doctrine 条令:通过拥有

我正在尝试这样做: SELECT userId, count(userId) as counter FROM quicklink GROUP BY userId HAVING count(*) >= 3' 在querybuilder的理论中,我得到了: $query = $this->createQueryBuilder('q') ->select('userId, count(userId)

Doctrine 如何使用utc时间戳symfony 4?

如何在symfony 4中使用utc_时间戳 使用utc_时间戳时获取下面的消息 [语义错误]第0行,第199列“UTC\u时间戳”附近:错误:“UTC\u时间戳”未定义。我认为您需要在条令中使用UTC\u时间戳。您可以将库包含在doctor.yaml文件中 orm: dql: string_functions: UTC_TIMESTAMP: DoctrineExtensions\Query\Mysql\UtcTimesta

Doctrine 复杂条令查询表单验证帮助!

我试图检查表单验证中是否不存在跨越五列的条目组合(我有parent1、parent2、parent3、parent4和parent5,它们都是整数)。 我试过: ……等等。 可能不是最有效的方法,但不管它在其中一个值与数据库中已有的任何列匹配时抛出错误,它都不会检查实际的组合。。。 任何帮助都将不胜感激 那么 // Set of possible matches $set = array($values['parent1'], $values['parent2'], $values['paren

Doctrine 符号/原则:模型是否反对->;保存()筛选器值?(防止SQL注入)

我知道该原则有助于抵御SQL注入攻击。model\u object->save()命令是否自动转义不需要的字符,或者我是否必须编写自定义输入筛选器?谢谢 您的问题的确切答案可以在《条令手册》中找到 更多信息也可以在那里找到:和 问候。这个问题也刚刚向我提出。我有95%的把握,但我在任何地方都找不到证实。

Doctrine 如何将删除与原则1.2级联?

我一直在与ORM理论斗争 根据,应该使用onDelete:CASCADE进行数据库级级联(这就是我在这里尝试实现的) 一个完整的例子可以在屏幕上看到 然而,在我的模式中,所有这些级联规范都被忽略了 以下是相关摘录: Advancement: columns: association_id: type: integer(4) notnull: true task_id: type: integer(4) notnull: true

Doctrine2.x中的关系自动求逆

在原则1.2中,通过仅在拥有方定义集合,可以在关系的另一侧自动定义集合。另一方不必知道与之相关的课程 在条令2.x中,不必在拥有方创建变量和映射就可以做到这一点吗?虽然这可能是允许的,但我不会这么做。举个例子: 1) 这个类别有很多产品。因此,您获取一个包含最畅销产品的页面,并显示其类别名称;你们在产品方面一定有这种关系 2) 假设只有在没有产品的情况下才能删除该类别。所以你会有一个方法: public function isDeletable() { return count($this-

Doctrine Symfony图像按钮,用于链接到功能

我有一个表单,最初提交时,它会进入一个页面,用户可以在发布到网站之前“预览”该项目。我有这3个链接,但我想把它从默认的文本链接改为图像按钮,他们可以点击来执行这些任务 <?php echo link_to('Edit', 'ticket_edit', $ticket) ?> <?php echo link_to('Purchase', 'ticket_publish', $ticket, array('method' => 'put')) ?> <

Doctrine\ArrayCollection类的属性$\元素已更改,无法取消序列化数据库中的旧对象

财产 private $_elements 条令\Common\Collections\ArrayCollection的名称已重命名为 private $elements 但我在数据库中序列化了object ArrayCollection。现在,我的数组集合为空。当我转储它时,我可以看到$\u元素不是空的,我想知道如何发出命令来更改它 我已经尝试过: 用mysql替换函数,但我有一个通知:取消序列化错误 使用ReflectionObject,但未定义属性$\u元素 runkit\u方法\u

Doctrine Symfony findOneBy/findBy

有人在Symfony 3(最新版本)中遇到过这个奇怪的问题吗 我有以下简单的代码: $repository = $this->getDoctrine() ->getManager() ->getRepository('GeneralRegistrationBundle:Service'); $service = $repository->findOneBy(array('name' =>

Doctrine 条令冲淡了许多实体

当我尝试导入CSV格式的用户列表时,它会逐个刷新实体,而不是一次刷新N个实体 我试图创建一个刷新N次的代码,但最后出现了一个错误: ImportMemberFileHandler.php protected function import(Import $import, Workflow $stateMachine) { $limit = 100; $counter = 1; $rowsToImport = $this->rowRepository->find

Doctrine 自定义映射类型存在问题

我正在使用Doctrine ODM并尝试创建一个自定义映射类型,但我遇到了一些问题。 我的映射类型与集合类型类似,但它与ArrayCollection一起工作: <?php class ArrayCollectionType extends Type { public function convertToDatabaseValue($value) { return $value !== null ? array_values($value->toAr

Doctrine 如何在原则2中用一对一关系更新记录?

我有一个用户实体,我正试图从UserService更新它。当我尝试更新设置为数组集合的属性时,问题就出现了 /** * * @param \Doctring\Common\Collections\Collection $property * @OneToMany(targetEntity="Countries",mappedBy="user", cascade={"persist", "remove"}) */ private $countries; 我不确定我是否应该在设置之前以某

Doctrine 为什么这个DQL查询会生成二维数组?

结果:数组(1){[0]=>数组(1){[1]=>字符串(1)“0”} 为什么嵌套数组的键是“1”?使用$query->getSingleScalarResult() 回答您的问题—据我所知,getResult()将生成一个实体数组,因此第一个维度包含实体列表,第二个维度是实体以及不属于实体的任何其他字段(例如计数的结果) 嵌套数组元素的键可能为“1”,因为您没有为计数提供别名,例如作为sessionCount的计数 $query = $this->getEntityManager()-&

Doctrine 条令查询生成器-如何选择多对多关系?

我在Symfony2中有一个表单,需要有一个实体选择字段,其中包含特定锦标赛中的球员集合。我创建表单类型并将比赛ID传递给正确字段的query\u builder属性。在实体存储库中,我有以下方法: public function allPlayersInTournamentQuery($tournament_id) { $repo = $this->getEntityManager()->getRepository('GameBundle:Tournament');

Doctrine Symfony 1.4:覆盖原则:构建模式命令

是否可以覆盖Symfony 1.4 CLI命令 更具体地说,我想知道是否可以覆盖此命令: php symfony doctrine:build-schema 我要做的是在database.yml文件中为我在其中找到的每个连接添加一个新选项。 我要添加的选项是包选项 因此,假设的联系可能是: all: doctrine: class: sfDoctrineDatabase package: myPackageOption param: dsn: 'mysq

Doctrine 无实体原则中的联接表

我有一个无法解决的问题。 我有一个实体,我正试图将其加入一个表: /** * @var ArrayCollection * * @ORM\ManyToMany(targetEntity="FeaturedAttribute") * @ORM\JoinTable(name="property_featured_attribute", * joinColumns={@ORM\JoinColumn(name="property", refer

Doctrine 符号4:教义、关系和细枝

我目前正在进行我的第一个symfony 4项目,我的小树枝模板有问题。 首先,这里是我创建的对象的UML图 我的布局应该是这样的: 以下是我的实体: 区域 <?php namespace App\Entity; use Doctrine\Common\Collections\ArrayCollection; use Doctrine\Common\Collections\Collection; use Doctrine\ORM\Mapping as ORM; /** * @OR

Doctrine 什么是学说中的知识库?

我想知道知识库在教义中是什么意思 有人能解释一下吗?许多ORM(对象关系映射器)使用的术语中的存储库,原则只是其中之一 它意味着可以访问我们的数据的地方,一个数据存储库。这是为了将其与数据库区分开来,因为存储库并不关心其数据的存储方式 请参阅Martin Fowlers的“企业应用程序架构模式”。@ajsei-科斯曼是一位精英。他认为这个词是不言自明的,却忘了他是在什么地方自己学会的。不要理会他的评论。

Doctrine 在models/generated文件夹中找不到我的基本模型

当我使用条令模型时,条令无法在models/generated文件夹中找到BaseModel 我应该在条令引导文件中放入什么来告诉它它们在models/generated文件夹中 谢谢 引导文件中的以下行为我解决了此问题: Doctrine_Core::loadModels('path/to/models/generated'); 引导文件中的以下行为我解决了此问题: Doctrine_Core::loadModels('path/to/models/generated');

Doctrine 带限制的条令更新查询

我想使用如下限制执行更新查询: UPDATE anytable SET anycolumn = 'anyvalue' WHERE anothercolumn='anothervalue' LIMIT 20 这在条令2.1中是如何实现的?不是条令特定的,但可能在子查询中实现 更新消息集test_read=1 我在哪里 从中选择id 从消息中选择id 按日期订购\u添加说明 限制5,5 tmp ; 不是特定于条令,但可能有子查询 更新消息集test_read=1 我在哪里 从中选择id 从消息中选

Doctrine 原则2何时使用复合密钥出错?

我最近读了一篇文章,被以下内容打断了: 25.3。避免使用组合键 即使条令完全支持复合密钥,如果可能,最好不要使用它们。组合键 根据条令需要额外的工作,因此有更高的可能性 许多错误 我不明白的是:如果“学说完全支持复合密钥”,它在处理此类密钥时怎么会出错 因此,我想以社区wiki的身份提出这个问题,希望它能帮助我们理解的“错误概率”是什么: 您是否有示例来分享您遇到的情况,即原则2没有很好地处理复合键?就我而言,我相信我已经遇到了一些问题,一个非常基本的数据库模式包含一个主键由两个外键组成的表:

Doctrine 禁用Symfony3集合类型中的特定字段

我正在使用集合制作自定义表单。到目前为止,一切都正常,但我有一件烦人的事情,我就是搞不懂:我只需要禁用一些字段,但搞不懂 我正在使用此数组为表单提供数据: $aData = [ 'group1' => [ 'A6C6' => ['status' => false, 'claseid' => 6], 'A3C12' => ['status' => false, 'claseid' => 12

当我尝试编写dql查询时,lag&;出错;超过(beberlei/DoctrineExtensions)

我正在尝试将MySQL8查询转换为Symfony4中的原则DQL。我过去常打电话。但仍然存在错误 查询工作正常 从machine\u income中选择id、machine\u amount、LAG(machine\u amount)OVER(按machine\u id划分,按id排序)作为prev字段 repositoryClass $q=$this->createQueryBuilder('mi'); $q->选择('mi.id,mi.machineAmount'); $q->addSel

Doctrine 原则默认值和关系

在mysql中,我可以设置如下列的默认值: ALTER TABLE <Table> CHANGE <Column> DEFAULT <NEW_DEFAULT_VALUE> Doctrine_Table类包含getDefaultValueOf方法,该方法执行您所寻找的操作。因此,如果您有一个条令记录,您可以编写如下内容:$record->getTable()->getDefaultValueOf('address_line_1');其中“地址\行\ 1”是一列

Doctrine exend FLOW3引导的正确位置?

目前,我正在尝试为FLOW3包中的每个请求注册一个Doctrine Eventlistener。一些研究将我指向Package.php,但不幸的是,调用boot()方法时ObjectManager不可用 我不走运地搜索了整个流程3文档 关于哪个位置是正确的,可以访问对象管理器进行软件包范围的设置,有什么提示吗 感谢并致以最诚挚的问候您在引导过程中有点太早,无法获取每个对象,我有一个问题,可能与您的问题有关,您可以查看我的错误报告 为什么您需要一个Doctrine Eventlistener,也许

Doctrine 原则2:如何检查是否返回任何结果/对象/行?

我想知道在原则2中,如何检查查询是否返回任何结果。如果我使用下面的 getXXXResult(); // eg. $result = $em->createQuery('xxx')->getXXXResult() findXXX(); // eg. $obj = $em->getRepository('xxx')->findXXX(); 我想知道在条令中还有什么其他方法可以查询数据,以及如何检查 有返回的行吗 返回/影响了多少行 我在 在计算机上执行count()怎么

Doctrine 条令2 DBAL Querybuilder和获取结果

我使用的是Doctrine DBAL,在它所说的ORM文档中,为了执行querybuilder查询,我首先必须使用getQuery方法获取查询对象。不幸的是,在DBAL中似乎没有getQuery方法来完成任务,那么过程是什么呢?从getSQL方法获取SQL并单独执行?如果要检索数组,可以执行以下操作 $qb->execute()->fetchAll();

Doctrine 扩展SonataUser-updatesetters-getter

我用SonateAsyExtends扩展了SonataUser,因此现在有了一个应用程序/Sonata/UserBundle 我在模型Application/Sonata/UserBundle/Resources/config/doctor/User.orm.xml 尝试使用更新setter和getter $ php app/console doctrine:generate:entities Application/Sonata/UserBundle/Entity/User 似乎进展顺利。现

Doctrine DQL连接来自不同表的两个连接表

我知道标题不是很清楚,但我会在这里更好地解释我的问题。 我有3个理论实体:A、B和C class A { class B { class C { $id; $id; $id; ManyToMany ManyToMany } $C; $C; } } 我想知道对象A和对象B是否至少有一个相同的C。 多对多关系为

Doctrine 有没有办法创建与Symfony 4中特定类无关的通用存储库?

我正在将旧的Symfony 2.7代码库升级到Symfony 4,我有一些Dao类不适合特定的类存储库 例如:我有一个Dao,它为我提供了通用的数据库信息,比如计算每个表中的记录总数,以及其他主要访问执行多个操作的数据库函数的信息 有没有办法创建与特定类无关的存储库?如果不是,最“Symfony 4”的创建方式是什么 我想,在创建一个独立的Dao类(不是存储库)时,可以在其中插入EntityManager并将所有查询放在那里。有更好的方法吗 编辑:有人能评论一下为什么这个问题没有得到回答吗?我是

Doctrine 添加由其他字段确定的列

我有一张非常简单的桌子。让我们说: 测试 --------------------------- | id | group | value | --------------------------- | 1 | A | 10 | | 2 | A | 11 | | 3 | A | 12 | | 4 | B | 20 | | 5 | B | 21 | | 6

Doctrine2:多进程中的实体可见性

以下是Web上的example.php: ... $page = new SomeEntity(); $page->setName("xx"); // name is primary key $em->persist($page); .... 问题:当example2.php询问时,会发生什么情况: $result = $em->find('SomeEntity', 'xx'); ??null或object$page 我假设example.php仍在运行,并且还没有调用$

Doctrine 条令分页

我已经使用了条令分页。我已经成功地实现了它,但我的问题是当用户单击最后一页时。在最后一页锚定标记后的寻呼机中,有两个空锚定标记,如果用户单击第一页,则有两个锚定标记。我希望当用户单击最后一页时,最后一页锚定标记之后不应该有锚定标记,如果用户单击第一页,第一页锚定标记之前不应该有锚定标记 示例:这是我的分页结构 << , < , 1 , 2 , 3 , > , >> anchor tag no: 1

Doctrine 原则选择,有总和

我有一个MySQL查询,如果我在phpMyAdmin中运行它,它可以正常工作。现在我需要把它转换成条令,这样它会给我修理时间超过300分钟的天数 SELECT date FROM `job` INNER JOIN `jobs_repairs` jr on job.id = jr.job_id INNER JOIN `repair` r on jr.repair_id = r.id GROUP BY date HAVING SUM(r.minutes) < 300 从“作业”中选择日期`

Doctrine 如何使用Symfony的查询生成器创建日期范围计数器并用零填充间隙

我有一个查询,通过按注册日期分组来计算用户数 返回$this->createQueryBuilder's ->选择“dates.created_作为x,count1作为y” ->Where.created_在datesubnow,:Month,'Month'和now之间 ->设置参数'months',$months ->groupBy'x' ->orderBy'x' ->获取查询 ->获取结果; 但他们目前在我的数据集中存在差距 因此,我有sql请求来填补空白,但我不知道如何使用Symfony的

  1    2   3   4   5  ... 下一页 共 5 页