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.