Código PHP:
Ver original
/** * @Id * @Column(type="integer") * @GeneratedValue */ protected $id_area; /** * @Column(type="string") */ protected $nombre; /** * @Column(type="string") */ protected $url_imagen; /** * @ManyToMany(targetEntity="Asignaturas", mappedBy="lista_asignaturas") */ private $padres; /** * @ManyToMany(targetEntity="Asignaturas", inversedBy="padres") * @JoinTable(name="areas", * joinColumns={@JoinColumn(name="id_area", referencedColumnName="id_area")}, * inverseJoinColumns={@JoinColumn(name="id_area", referencedColumnName="id_area")} * ) */ private $lista_asignaturas;
Tengo una pregunta, es que Areas es la tabla padre y tiene un listado de asignaturas, debido a que una asignatura pertenece a un area.
bueno mi pregunta es, siento que doctrine consume mucho recursos al hacer este tipo de consulta porque si yo consulta una sola area me trae el listado completo de asignaturas, lo que quisiera saber es si de alguna forma se le puede decir, en esta consulta si traigame las asignaturas completas, pero en esta otra consulta no lo haga.
pongo el ejemplo de como estoy haciendo la consulta, muchas gracias.
Código PHP:
Ver original
$query = $this->conexion->createQueryBuilder(); $query->select('a'); $query->from('models\persistentes\Areas','a'); $query->where("1=1"); if(!$this->validaciones->getVacio($idAreaB)) { $query->andWhere("a.id_area = :id_area"); $query->setParameter('id_area',$idAreaB); } $query = $query->getQuery(); $areas = $query->execute(); foreach($areas as $area) { $temporal = $this->objetos->getPersistenteADto($area); $lista[] = $temporal; } return $lista;