Doktrin kısmi bir dernek yükleme istekli

0 Cevap php

Ben hevesli yüklenen dernekleri bir kısmı ile bazı varlıkları almak istiyorum.

Böyle gibi bir tablo ile kendini referans hiyerarşik bir ilişki vardır:

CREATE TABLE entities (
    id serial PRIMARY KEY,
    parent_id integer REFERENCES entities,
    attribute_id integer REFERENCES attributes,
    [...]
);

Şimdi entities.attribute_id =? Gibi bir WHERE yan tümcesi eşleşen, onun bazı çocuklar ile bir varlık önyükleneceği istiyorum.

Böyle düz SQL bu var:

SELECT * FROM entities p_ent INNER JOIN entities c_ent ON p_ent.id = c_ent.parent_id WHERE c_ent.attribute_id = ?

Ama Doktrini bunu nasıl bilmiyorum.

Tabii ki denedim:

$qb = $em->createQueryBuilder();

$qb->select('p_ent', 'c_ent')
   ->from('Entities', 'p_ent')
   ->innerJoin('p_ent.children', 'c_ent')
   ->where('c_ent.attribute = ?1')
   ->setParameter(1, $attr);

Ama bu işe yaramazsa - ilişki her zaman tam dolu alır, tüm çocukların varlıkları ile.

0 Cevap