Générer le sous-CRUD pivot¶
Objectif : produire un sous-CRUD dédié au pivot enrichi avec forge make:pivot-crud.
Ce que vous allez apprendre : quand une relation porte des attributs, Forge fournit un générateur dédié, make:pivot-crud, distinct de make:crud.
Il affiche le code à coller (contrôleur, templates, routes) sans réécrire vos fichiers (charte principe 9).
Module opt-in
Ce starter suppose forge-mvc-entities installé.
Module à SQL visible.
Pourquoi une commande dédiée ?¶
make:crud gère une entité simple.
Dès qu'un pivot porte au moins un champ requis ou non nullable, make:crud est bloqué par un garde-fou : il faut make:pivot-crud, qui sait gérer les attributs de la relation.
Classes Forge utilisées¶
| Commande | Rôle dans ce starter | Référence |
|---|---|---|
forge make:pivot-crud |
Génère le sous-CRUD d'un pivot enrichi. | Pivot avancé |
Générer (mode aperçu)¶
Commencez toujours par un aperçu --dry-run : rien n'est écrit, tout est affiché.
La sortie montre le contrôleur, les templates et les routes à câbler pour le sous-CRUD de l'association Article ↔ tags.
Générer (réel)¶
Les fichiers nouveaux sont créés, dont un fichier de routes dédié sous mvc/routes/ (ADR-068) ; le branchement à ajouter dans mvc/routes/__init__.py est affiché (Forge ne réécrit jamais vos routes en silence).
Comprendre ce code¶
- Le générateur produit un sous-CRUD : lister les tags d'un article, en attacher, modifier l'attribut, détacher : exactement les opérations de pivot.
- Le code généré s'appuie sur
PivotAdvancedService, que vous manipulerez directement quelques paliers plus loin. --dry-runest la bonne habitude : on lit avant d'écrire.
À retenir¶
make:pivot-crud <Source> <relation>génère le sous-CRUD d'un pivot enrichi.make:crudest bloqué pour les pivots à attributs requis/non nullables.--dry-runaffiche sans rien écrire.
Après ce starter¶
Le code est généré.
Voyons le stockage : la table pivot en SQL.