Tableau de conversion de chaîne de caractères. symfony2.7
J'ai une liste déroulante avec la liste des entités + icône à côté de l'entité. mais quand je soumettre mon formulaire j'ai eu cette erreur:
Une exception a été levée lors de la génération d'un modèle
("Avis: Tableau de conversion de chaîne de caractères") dans
src\MOUCHE\BookingsBundle\Ressources\views\Post\show.html.brindille à la ligne 38.CRITIQUE - Uncaught Exception en PHP Twig_Error_Runtime: "Une exception
a été levée lors de la génération d'un modèle ("Avis: Tableau de
conversion de chaîne de caractères") dans
"C:\xampp\htdocs\Symfony\src\FLY\BookingsBundle/Resources/views/Post/show.html.twig"
à la ligne 38." C:\xampp\htdocs\Symfony\app\cache\dev\classes.php ligne
4795 .
class Post
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var array
*
* @ORM\Column(name="compagny", type="array")
*/
private $compagny;
/**
* Get id
*
* @return integer
*/
public function getId()
{
return $this->id;
}
/**
* Set compagny
*
* @param array $compagny
* @return Post
*/
public function setCompagny($compagny)
{
$this->compagny = $compagny;
return $this;
}
/**
* Get compagny
*
* @return array
*/
public function getCompagny()
{
return $this->compagny;
}
}
.
->add('compagny', 'choice', [
'required' => true,
'multiple' => true,
'label' => 'Ex:Emirates airways',
'attr' => [
'class' => 'form-control myDropdown',
'placeholder' => 'Ex:Emirates airways',
]])
.
{% extends '::base.html.twig' %}
{% block body -%}
<h1>Post</h1>
<table class="record_properties">
<tbody>
<tr>
<th>Id</th>
<td>{{ entity.id }}</td>
</tr>
<tr>
<th>Departure</th>
<td>{{ entity.airport }}</td>
</tr>
<tr>
<th>Arrival</th>
<td>{{ entity.airport1 }}</td>
</tr>
<tr>
<th>Departuredate</th>
<td>{{ entity.departuredate|date('Y-m-d H:i:s') }}</td>
</tr>
<tr>
<th>Arrivaldate</th>
<td>{{ entity.arrivaldate|date('Y-m-d H:i:s') }}</td>
</tr>
<tr>
<th>Compagny</th>
<td>{{ entity.compagny }}</td>
</tr>
</tbody>
</table>
<ul class="record_actions">
<li>
<a href="{{ path('post') }}">
Back to the list
</a>
</li>
<li>
<a href="{{ path('post_edit', { 'id': entity.id }) }}">
Edit
</a>
</li>
<li>{{ form(delete_form) }}</li>
</ul>
{% endblock %}
nouveau.html.twig
<div class="col-md-2">
<h4 class="title">Compagny</h4>
<div class="form-group form-group-lg form-group-icon-left">
<i class="fa fa-plane input-icon"></i>
<label>Airlines</label>
{{ form_widget(form.compagny, { 'attr': {'class': 'form-control myDropdown',} }) }}
{{ form_errors(form.compagny) }}
</div>
</div>
- je ajouter mon fichier twig dans ma question.
Je ne comprends pas vraiment ce que vous essayez de faire ici, mais l'erreur est dans cette ligne
{{ entity.compagny }}
, compagnie est un tableau défini dans votre entité, de sorte qu'il ne peut pas être juste écho ed par rameau. Peut-être que Compagnie n'est pas un tableau et que vous vouliez utiliser un autre type de données pour cette colonne après tout, comme le texte?je suis en train de rendre l'sélectionnez le nom de la compagnie + icône dans la page suivante quand je soumettre mon formulaire. je l'ai fait retirer plusieurs=>true, et je n'ai plus l'erreur , mais les données n'est pas enregistrer dans la base de données et n'est pas rendu à la page suivante. pourquoi ça ne marche pas ?
Donc, juste pour comprendre. Chaque poste peut avoir une multitude de compagnie?, et compagnie est un tableau, Si la compagnie sont les valeurs sélectionnées, où sont la liste complète des objets à partir de l'endroit où vous prévoyez de sélectionner quelques?
OriginalL'auteur Sirius | 2015-12-22
Vous devez vous connecter pour publier un commentaire.
Votre $société propriété de la Poste, qui est un tableau, tout comme vous avez défini dans l'annotation:
lire doctrine de la documentation, ce tableau sera sérialisé avant de les stocker dans la base de données.
Et vous ne pouvez pas vous rendre directement dans twig.
Vous avez besoin d'utiliser
for
pour afficher les éléments du tableau un par un.pourriez-vous
dump($form->getData())
à l'intérieur de votreif ($form->isValid())
pour voir quelles sont les données que vous obtenez en fait?c'est ce que j'ai , vous pouvez consulter le lien est une capture d'écran: lien
OriginalL'auteur Phoenix