Bonjour
J'ai un soucis sur le quelle je suis bloquer depuis plusieurs depuis jours.
Je créer un projet pour que des cinéma diffuse des films avec des horaires.
Le github : https://github.com/xavgdt66/form2datetyme
Film est une entity et Horaire et une entity.
Voici mon Form/HoraireType :
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('heure', TimeType::class, [
'label' => 'Heure',
'widget' => 'choice',
'input' => 'timestamp',
'with_seconds' => false,
]);
}
Mon film form ( qui est pour ma vue )
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('titre');
$builder->add('horaires', CollectionType::class, [
'entry_type' => HoraireType::class,
'allow_add' => true,
'by_reference' => false,
]);
}
Ma vue twig :
{% block body %}
<h1>Nouveau film</h1>
{{ form_start(filmForm) }}
<div class="form-group">
{{ form_label(filmForm.titre) }}
{{ form_widget(filmForm.titre) }}
</div>
{% for horaire in filmForm.horaires %}
<li>{{ form_row(horaire.heure) }}</li>
{% endfor %}
<button type="submit" class="btn btn-primary">add</button>
{{ form_end(filmForm) }}
{% endblock %}
Sur ma vue j'ai cela
Si ton entité n'a pas d'horaires tu ne verra rien au niveau du formulaire. C'est à toi de créer le bouton qui permet 'ajouter des éléments. Je démontre comment faire dans ce chapitre de la formation Symfony : https://grafikart.fr/tutoriels/symfony-form-nested-2202 (il faudra créer du code JavaScript)
ah cool tu as fait une vidéo sur cela, je vais prendre un abonement pour voir cela et te remercier pour tout ton travail
Également, la propriété 'heure' de ton entité 'Horaire' est de type DateTime, donc demander d'afficher un timestamp :
'input' => 'timestamp',
Cela te généra une erreur.