Laravel 5

Laravel - Formulaire Many To Many avec attribut

  • Avatar de Saiksy
    Membre depuis :
    02/05/2018
    Messages :
    1

    Bonjour,

    Je suis actuellement en train de développé un site et je rencontre un problème que je n'arrive absolument pas à résoudre. J'ai beau l'imaginer dans tous les sens mais aucune idée...

    Mon site se base sur un système d'équipements qui peut posséder plusieurs statistiques et une recette (pour la créer) qui elle possède plusieurs ressources avec chacune des quantités différentes.

    Au niveau de mes tables ça donne cela :

    TABLE equipement : id - name - etc...
    TABLE stats : id - name - etc... (exemple de name : Vitalité ou Intelligence ou Force ou Chance et bien d'autres)
    LA TABLE DE LIAISON : id - equipement_id - stats_id - mini (donc ici le jet minimum) - maxi (et ici le jet maximum)
    Et concernant les recettes :
    TABLE recette : id - equipement_id - ressource_id - quantité

    Au fond aujourd'hui tout fonctionne, ce que je voudrais c'est pouvoir gérer le formulaire en conséquence car étant donnée que ce sont des relations ManyToMany, je peux avoir plus statistiques et plusieurs recette pour 1 équipements.

    Il faudrait que je puisse faire dans mon formulaire autant de champs concernant les statistiques que j'en possède, tout comme les recettes. Je pense que cela se fera uniquement avec du javascript (même si je connais rien au javascript)

    Mais par contre concernant l'édition d'un équipements de ces stats et de ces recettes, comment construire le formulaire pour qu'il puisse me générer autant de champs que de stats et recette ? C'est là que je vois pas du tout comment faire.

    Concernant l'ajout il faudrait que je créer (je pense) en javascript un script me permettant d'ajouter à la volé des champs pour ajouter de nouvelles statistiques ainsi que leurs valeurs minimum et maximum et de même pour la recette.

    Mais pour l'édition aucune idée...

    Si quelqu'un aurait quelques piste pour moi ça serait vraiment cool !
    PS : Évidemment je ne demande pas de code tout fait !!
    PS2 : Je n'ai pas insérer mes models/view car je pense que dans mon il y en a aucun interêt.

    Merci d'avance.
    Cordialement,

  • Avatar de stfr
    Membre depuis :
    18/04/2018
    Messages :
    6

    Bonjour,
    Tu peux faire cela en jouant avec le nom des champs, plus précisément en intégrant un index dans leur nom. Pour l'édition, soit tu ruse en mettant les ID en tant qu'index pour pouvoir les éditer, soit tu faire du delete, puis tu réinsères tout. Sur un nombre limité de données ce n'est pas impactant sur le perfs.

    Est ce que cela répondrais à ton problème ? https://laracasts.com/discuss/channels/laravel/how-to-insert-multiple-rows-with-multiple-fields?page=1

Vous ne pouvez pas répondre à ce sujet.