Bonjour,

Je travaille actuellement sur le développement d'une application et suis chargée de créer une section FAQ et Category. J'ai pu créer tous les fichiers correctement, non sans soucis puisque je suis débutante, et j'ai bien réussi à lier les tables faq et category.
J'utilise phpStorm (php version 5.6), Propel, Symphony, twig et phppgadmin pour travailler.

Je rencontre le problème suivant : Lorsque je suis dans ma section catégorie (fichier liste.html.twig), je peux créer une nouvelle catégorie, éditer ou supprimer une catégorie du listing affiché.
Or, mon bouton supprimer fonctionne bien, y compris lorsqu'une catégorie est utilisée en FAQ.

Je souhaiterai donc créer une requête Propel (?) qui me permettrait d'empêcher la suppression d'une catégorie si elle est utilisée dans une question FAQ. (

Voici le code du bouton supprimer du fichier twig :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
                    <a title="Supprimer"
                                       class="btn btn-circle btn-icon-only btn-default"
                                       href="{{ path('clientp_category_backend_delete', {"categoryId": category.categoryId}) }}"
                                       style="height: 27px; width: 27px; padding: 4px 6px 2px;">
                                        <i class="icon-trash"></i>
                                    </a>
Et le code du CategoryController.php auquel il renvoit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    public function deleteAction( $categoryId){
        $category = new Category();
        $manager = $this->get('clientp_appel.category.manager');
 
        if($categoryId > 0 && !$category = $manager->findCategoryById( $categoryId)) {
            throw new NotFoundHttpException($this->get('translator')->trans('This category does not exist.'));
        }
 
        $category->delete();
        $this->get('session')->getFlashBag()->add('notice',
            $this->get('translator')->trans('Catégorie supprimée'));
 
        return $this->redirect($this->generateUrl('clientp_category_backend_list'));
    }
Je pense que c'est dans ce code ci que je devrais faire une requête Propel, je dispose de la documentation suivante :
http://propelorm.org/documentation/0...tionships.html
Je pense qu'il me faut chercher la solution dans les relations, mais je n'avais jamais fait de Propel avant ce projet ci donc je débute et ne comprends pas bien.
Est il possible de faire une fonction count avec propel, qui détecterait si category_id est utilisé dans la table faq, et empêcherait la suppression de cette catégorie le cas échéant ?

Merci de votre aide,

Eris Stig.