Bonjour,
Je voudrais savoir si il est possible de sauvegarder un seul champ d'une entité.
En gros j'ai un input pour des tags, et lorsque j'appuie sur Entrée, cela m'enregistrera juste la valeur de ce champ en bdd.
merci
Bonjour,
Je voudrais savoir si il est possible de sauvegarder un seul champ d'une entité.
En gros j'ai un input pour des tags, et lorsque j'appuie sur Entrée, cela m'enregistrera juste la valeur de ce champ en bdd.
merci
Seulement si dans ton EntityFormType (et ton formBuilder) tu ne met que le champ concerné. Autrement, tu persistes cela uniquement dans ton Action qui suit le submit de ton formulaire sur ta vue.
Dernière modification par Anonymal ; 03/12/2012 à 17h38. Motif: Faute d'orthographe
Ha mince ! car le truc c'est que c'est un formulaire imbriqué. c'est à dire que j'ai mon formulaire pour mon entité Article et à l'intérieur de celui-ci mon champ input tag pour mon entité tag.
Ha sa m'handicape un peu là du coup
Commençons par les bases. Est-ce que, à travers ta vue, tu autorise seulement la modification/ajout de valeur dans ton input tag, ou bien d'autres champs qui concernent tes entités ?
Dans le pire des cas, dans ton action du contrôleur :
Bien sûr, c'est une façon de faire, mais il faut penser à ajouter ce qui manque à ce code.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 public function monAction(Request $request){ $message= new Message(); $form = $this->createForm(new MessageType()); $form->bind($request); $tags = $form["monTagInput"]->getData(); $message->setTags($tags); $em = $this->getDoctrine()->getManager(); $em->persist($message); }
Dans la vue j'autorise l'ajout ou modif d'autre champs.
voici la vu de mon formulaire :
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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65 <form method="post" {{ form_enctype(form) }} class="form-horizontal"> <div class="control-group"> <label class="control-label" for="inputName">{{ form_label(form.name, "Titre de l'article") }}</label> <div class="controls"> {{ form_widget(form.name) }} </div> </div> <div class="control-group"> <label class="control-label" for="inputSlug">{{ form_label(form.slug, "URL") }}</label> <div class="controls"> {{ form_widget(form.slug) }} </div> </div> <div class="control-group"> <label class="control-label" for="inputContent">{{ form_label(form.content, "Contenu") }}</label> <div class="controls"> {{ form_widget(form.content) }} </div> </div> <div class="control-group"> <label class="control-label" for="inputAuthor">{{ form_label(form.author, "Auteur") }}</label> <div class="controls"> {{ form_widget(form.author) }} </div> </div> <div class="control-group"> <label class="control-label" for="inputDate">{{ form_label(form.date, "Date") }}</label> <div class="controls"> {{ form_widget(form.date) }} </div> </div> <div class="control-group"> <label class="control-label" for="inputOnline">{{ form_label(form.online, "Online") }}</label> {{ form_widget(form.online) }} </div> <div class="control-group"> {{ form_widget(form.tag) }} //Le champ tag pour l'entité Tag </div> <div class="control-group"> <div class="controls"> <div class="categories"> {{ form_label(form.category, "Les catégories:", {'label_attr': {'class': 'bold'}}) }} {{ form_widget(form.category) }} </div> </div> </div> {{ form_widget(form._token) }} <div class="form-actions"> <input type="submit" class="btn btn-primary" /> </div> </form>
ha yes merci je vais voir ce que donne ta soluce. je te tiens au jus
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager