Non ça ne remplace pas un SGBD ça utilise un SGBD
l'ORM permet de parcourir ta base comme un arbre

en exemple simple : une utilisateur peux écrire plusieurs article
donc deux table : user, article
avec dans article un : user_id donc du OneToMany

l'ORM permet de faire directement

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
$user = $orm->find($id);
$articles = $user->getArticles();
un article peux avoir plusieurs commentaires.

Maintenant dans ta vue tu veux afficher tout les article et tout les commantaires tu feras

dans ton controller (et rien de plus) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
$user = $orm->find($id);
 
return array('user' => $user);
dans la vue

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<h1>{{ user.username }}</h1>
 
{% for article in user.articles %}
    <h2>{{ article.title }}</h2> 
 
    <div>{{ article.content }}</div>
 
    <hr />
 
    {% for comment in user.comments %}
 
        <div>{{ comment .content }}</div>
 
    {% endfor %}
 
{% endfor %}