- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
使用 Symfony2.8
与 Doctrine 2.5
,我想在 Doctrine ORM 查询中过滤 arraycollection 正好包含 3 个元素的所有数据集。
$em = $this->getDoctrine()->getManager();
$query = $em->getRepository("AppBundle:EduStructItem")
->createQueryBuilder('e')
->addSelect('COUNT(e.preconditions) AS HIDDEN numberpre')
->having('numberpre = 3')
->getQuery();
$res = $query->getResult();
dump($res);
foreach ($res as $entity){
print "title:".$entity->getTitle()."<br>";
dump($entity->getPreconditions()->toArray());
}
preconditions
是一个包含先决条件集合的数组集合。
order by Count(e.preconditions)
)。
data-dog/pager-bundle v0.2.4 Paginator bundle for symfony2 and doctrine orm, allows customization with filters and sorters
doctrine/annotations v1.2.7 Docblock Annotations Parser
doctrine/cache v1.5.2 Caching library offering an object-oriented API for many cache backends
doctrine/collections v1.3.0 Collections Abstraction library
doctrine/common v2.5.2 Common Library for Doctrine projects
doctrine/data-fixtures v1.1.1 Data Fixtures for all Doctrine Object Managers
doctrine/dbal v2.5.2 Database Abstraction Layer
doctrine/doctrine-bundle 1.6.1 Symfony DoctrineBundle
doctrine/doctrine-cache-bundle 1.2.2 Symfony Bundle for Doctrine Cache
doctrine/doctrine-fixtures-bundle 2.3.0 Symfony DoctrineFixturesBundle
doctrine/doctrine-migrations-bundle 1.1.1 Symfony DoctrineMigrationsBundle
doctrine/inflector v1.1.0 Common String Manipulations with regard to casing and singular/plural rules.
doctrine/instantiator 1.0.5 A small, lightweight utility to instantiate objects in PHP without invoking their constructors
doctrine/lexer v1.0.1 Base library for a lexer that can be used in Top-Down, Recursive Descent Parsers.
doctrine/migrations v1.1.0 Database Schema migrations using Doctrine DBAL
doctrine/orm v2.5.0 Object-Relational-Mapper for PHP
<?php
// src/AppBundle/Entity/EduStructItem.php
namespace AppBundle\Entity;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
/**
* @ORM\Entity
* @ORM\Table(name="test_edustructitemcollection")
*/
class EduStructItem
{
/**
* @ORM\Column(type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @var string
* @Assert\NotBlank()
* @ORM\Column(type="string", length=255, nullable=false)
*/
private $title;
/**
* Preconditions are EduStructItems referencing to an EduStructItem.
* For a single EduStructItem its empty (which have no subelements).
* A join table holds the references of a main EduStructItem to its sub-EduStructItems (preconditions)
*
* @ORM\ManyToMany(targetEntity="EduStructItem",indexBy="id", cascade={"persist"})
* @ORM\JoinTable(name="test_edustructitem_preconditioncollection",
* joinColumns={@ORM\JoinColumn(name="edustructitem_id", referencedColumnName="id")},
* inverseJoinColumns={@ORM\JoinColumn(name="edustructitem_precondition_id", referencedColumnName="id")}
* )
*/
public $preconditions;
public function __construct()
{
$this->preconditions = new ArrayCollection();
}
public function getTitle()
{
return $this->title;
}
public function setTitle($title)
{
$this->title = $title;
}
public function getPreconditions()
{
return $this->preconditions;
}
public function addPrecondition(\AppBundle\Entity\EduStructItem $precondition)
{
$this->preconditions->add($precondition);
}
public function removePrecondition(\AppBundle\Entity\EduStructItem $precondition)
{
$this->preconditions->removeElement($precondition);
}
}
?>
$em = $this->getDoctrine()->getManager();
$query = $em->getRepository("AppBundle:EduStructItem")
->createQueryBuilder('e')
->addSelect('COUNT(e.preconditions) AS HIDDEN countpre')
->join('e.preconditions', 'precondition', Join::WITH)
->having('countpre = 1')
->getQuery();
$qb = $em->getRepository("AppBundle:EduStructItem")
->createQueryBuilder('item');
$qb->addSelect('COUNT(precondition.id) AS countpre HIDDEN ')
->join('item.preconditions', 'precondition', Join::WITH)
->having('countpre = 1');
$qb = $em->getRepository("AppBundle:EduStructItem")
->createQueryBuilder('item');
$qb->addSelect('COUNT(precondition.id) AS HIDDEN countpre')
->join('item.preconditions', 'precondition', Join::WITH)
->having('countpre = 1');
USE [easylearndev4_rsc]
GO
/****** Object: Table [dbo].[test_edustructitemcollection] Script Date: 14.12.2015 09:31:55 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[test_edustructitemcollection](
[id] [int] IDENTITY(1,1) NOT NULL,
[title] [nvarchar](255) NOT NULL,
PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
USE [easylearndev4_rsc]
GO
/****** Object: Table [dbo].[test_edustructitem_preconditioncollection] Script Date: 14.12.2015 09:32:21 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
REATE TABLE [dbo].[test_edustructitem_preconditioncollection](
[edustructitem_id] [int] NOT NULL,
[edustructitem_precondition_id] [int] NOT NULL,
PRIMARY KEY CLUSTERED
(
[edustructitem_id] ASC,
[edustructitem_precondition_id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[test_edustructitem_preconditioncollection] WITH CHECK ADD CONSTRAINT [FK_34E716A81B7A6CEB] FOREIGN KEY([edustructitem_precondition_id])
REFERENCES [dbo].[test_edustructitemcollection] ([id])
GO
ALTER TABLE [dbo].[test_edustructitem_preconditioncollection] CHECK CONSTRAINT [FK_34E716A81B7A6CEB]
GO
ALTER TABLE [dbo].[test_edustructitem_preconditioncollection] WITH CHECK ADD CONSTRAINT [FK_34E716A85D864668] FOREIGN KEY([edustructitem_id])
REFERENCES [dbo].[test_edustructitemcollection] ([id])
GO
ALTER TABLE [dbo].[test_edustructitem_preconditioncollection] CHECK CONSTRAINT [FK_34E716A85D864668]
GO
$em = $this->getDoctrine()->getManager();
$qb = $em->getRepository("AppBundle:EduStructItem")
->createQueryBuilder('e');
$qb->join('e.preconditions', 'p', Join::WITH)
->groupBy('e.id, e.title')
->having('count(p.id) = 1');
最佳答案
尝试这个:
$qb = $this->getDoctrine()->getManager()->getRepository("MyBundle:Groups")
->createQueryBuilder('g')
->having('count(g.members) = 3')
->orderBy('g.members', 'DESC')
;
关于symfony - 在 where 条件下的学说 ORM 计数数组集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34174574/
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 9 年前。 Improve
我有点卡在 JavaScript 逻辑上来完成这个任务。 基本上 如果我给出一个数字(比如 30) 我想在两边都显示 5。 所以 25 26 27 28 29 30 31 32 33 34 35 这部
我编写的程序有问题。我无法获得输入字符串的正确字数,但我获得了正确的最长字符数。我不知道为什么,但这是我的代码。我正在做的是将一个字符串传递给一个函数,该函数将字符串中的所有字母大写。然后,该函数逐个
我有功能 public ArrayList vyberNahodnaPismena() { String[] seznamPismen = {"A", "Á", "B", "C", "Č",
这可以在 PGSQL 中完成吗?我有一个我创建的 View ,其中主机名、ip 和数据中心来自一个表,ifdesc 和 if stats 来自另一个表。 View 输出如下所示: hostname |
我想要一组来自订单文件的数据,这些数据可以为我提供客户编号、订单编号、产品、数量、价格以及每个订单的订单详细信息文件中的行数。我在最后一部分遇到问题。 Select Header.CustNo, He
我有属于街道的房子。一个用户可以买几套房子。我如何知道用户是否拥有整条街道? street table with columns (id/name) house table with columns
我有一套有 200 万个主题标签。然而,只有大约 200k 是不同的值。我想知道哪些主题标签在我的数据中重复得更多。 我用它来查找每个主题标签在我的数据集上重复了多少次: db.hashtags.ag
我有如下文件: { "_id" : "someuniqueeventid", "event" : "event_type_1", "date" : ISODate("2014-
我有以下三个相互关联的表: 主持人(有多个 session ) session (有多个进程) 过程 表结构如下: 主机表 - id, name session 表 - id, host_id, na
我需要根据 2 个字段对行进行计数以进行分组。 动物(一) id group_id strain_id death_date death_cause status --
我有一个 LINQ 语句,我正在努力改正,所以可能这一切都错了。我的目标是查询一个表并加入另一个表以获取计数。 地点 标识、显示 ProfilePlaces ID、PlaceID、通话、聆听 基本上P
我无法编写 Countifs 来完成我想要的。我每个月都会运行一份 claim 报告,其中包含大量按列组织的数据,并每月将其导出到 Excel 中。在一个单独的选项卡上,我有引用此数据复制到的选项卡的
我有一些数据采用此 sqlfilddle 中描述的格式:http://sqlfiddle.com/#!4/b9cdf/2 基本上,一个包含用户 ID 和事件发生时间的表。我想做的是根据用户发生事件的时
我有以下 SQL 语句: SELECT [l.LeagueId] AS LeagueId, [l.LeagueName] AS NAME, [lp.PositionId] FROM
我试图找出一个值在列中出现的平均次数,根据另一列对其进行分组,然后对其进行计算。 我有 3 张 table ,有点像这样 DVD ID | NAME 1 | 1 2 | 1 3
我有一个非常简单的 SQL 问题。我有一个包含以下列的数据库表: 零件号 销售类型(为简单起见,称之为销售类型 1、2、3、4、5) 我希望编写一个包含以下三列的查询: 零件号 Sales Type
我创建了以下存储过程,用于计算选定位置的特定范围之间每天的记录数: [dbo].[getRecordsCount] @LOCATION as INT, @BEGIN as datetime, @END
我有一个包含一组列的表,其中一个是日期列。 我需要计算该列的值引用同一个月的次数。如果一个月内,该计数的总和超过 3,则返回。 例如: ____________________ | DATE |
看XXX数据如下: lala XXX = EL String [XXX] | TXT String | MMS String 为此,XXX数据yppz是由 lala
我是一名优秀的程序员,十分优秀!