首先,我使用 Doctrine2 和 Symfony2 使用 MySQL 数据库。我有以下实体,如您所见,它与其他一些实体有关系。
Pge\IncidenciasBundle\Entity\Incidencia:
type: entity
table: incidencia
repositoryClass: Pge\IncidenciasBundle\Entity\IncidenciaRepository
id:
id:
type: integer
generator:
strategy: IDENTITY
fields:
fechaInicio:
type: date
nullable: false
column: fecha_inicio
fechaFinal:
type: date
nullable: true
column: fecha_final
horaInicio:
type: time
nullable: true
column: hora_inicio
horaInicioIndisp:
type: time
nullable: true
column: hora_inicio_indisp
horaFinal:
type: time
nullable: true
column: hora_final
horaFinalIndisp:
type: time
nullable: true
column: hora_final_indisp
causa:
type: text
nullable: true
resumen:
type: string
length: 250
fixed: false
nullable: true
descripcion:
type: text
nullable: true
solucion:
type: text
nullable: true
remedy:
type: string
length: 250
fixed: false
nullable: true
accionesRealizadas:
type: text
nullable: true
column: acciones_realizadas
manyToOne:
prioridad:
targetEntity: Prioridad
estado:
targetEntity: Estado
indisponibilidad:
targetEntity: Indisponibilidad
cliente:
targetEntity: Cliente
inversedBy: incidencia
servicio:
targetEntity: Servicio
lifecycleCallbacks: { }
我正在尝试使用此输出进行查询,在其中检索给定日期的数据(图像是 html 中的手工表)
所以,对于每一个Cliente
我需要打印一个表,它Servicio
在每一行,每个Prioridad
找到一个计数器,Incidencia
所以如果有 3 个Incidencia
with Prioridad = P0
, 1Prioridad = P1
和 2 Prioridad = P3
for Servicio = KOSMOS
and Cliente = Someone
,表将输出这个
Someone
SERVICIO P0 P1 P2 P3
KOSMOS 3 1 0 2
就这么简单,但我的问题是我找不到生成此查询的方法...我尝试创建多个数组,其中包含一些 foreachs 和一些查询的内容,创建一个Cliente
单独的数组,并为每个给定的日期,一系列服务等,但我找不到计算方法Prioridad
,这显然不是一个好习惯,因为大约有 8 个 foreach,foreach 内部的查询等......所以不好,但我真的迷路了……
我认为必须有一个简单的方法来做到这一点,但不是根据我的知识......