X ve Y.: Ben iki tablo var
Schema.yml gibi görünüyor:
X:
columns:
something: { type: string(255), notnull: true }
y_id: { type: integer, notnull: true }
relations:
Y: { onDelete: CASCADE, local: y_id, foreign: id, foreignAlias: xs }
Y:
columns:
something: { type: string(255), notnull: true }
Ve benim XTable ben var:
class XTable extends Doctrine_Table
{
function getXesWithYs()
{
return $this->createQuery("x")->leftJoin("x.Y y")->execute();
}
}
Oluşturulan sorgu *. Hem select x aslında yapar ve y. *, Ama Y verilerini kullanarak çalıştığınızda, bu Y y.id = x.y_id seçerek her satır için ekstra bir sorgu gerçekleştirir.
Bu yüzden eğer yaparsam:
echo $results[0]->Y->something;
Doktrin tekrar Y verileri getiriliyor ekstra bir sorgu çalışacaktır.
Bu sadece bir kez Y satıra olur. Ben tekrar kullanmak eğer bunu bir 3. defa yük olmayacak, ama ben $result[1]
's Y kullanırsanız, başka bir sorgu olsun.