From 926bd483e02f011752e5d3d2850f48708f01cc3d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gr=C3=A9goire=20Paris?= <postmaster@greg0ire.fr>
Date: Sat, 3 Mar 2018 20:32:29 +0100
Subject: [PATCH] Add slides about collections and relationships

---
 index.md | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/index.md b/index.md
index 8f776da..fa318b6 100644
--- a/index.md
+++ b/index.md
@@ -279,6 +279,35 @@ final class DoctrineGetLatestArticles implements GetLatestArticles
 Note:
 - Tout de suite beaucoup plus simple à réimplémenter en elasticsearch
 
+---
+# Les collections
+
+- elles permettent à Doctrine de repérer les changements
+- elles permettent à Doctrine de faire du lazy-loading
+- vous pouvez les éviter en type hintant `iterable` et en utilisant un tableau
+  pour les initialiser.
+- si une collection comporte énormément d'éléments, c'est probablement une
+  relation à faire sauter
+
+---
+# Faire une jointure avec une relation uni-directionnelle
+
+```php
+$queryBuilder
+  ->select('a.*')
+  ->from(Article::class)
+  ->innerJoin(Comment::class, 'c', Expr\Join::WITH, 'c.article_id = a.id')
+  ->where("c.content LIKE '%Doctrine%'")
+  ->getQuery()
+  ->getResults();
+```
+
+Note:
+- utile si on a besoin de rajouter des conditions sans nécessiter d'hydrater
+  des objets de la classe jointe.
+
+
+
 ---
 # Emoji test
 
-- 
GitLab