我有一个下拉菜单,其中包含一些实体和与该实体相关的图标。但当我提交表单时,出现了以下错误:
注意:请确保不要更改原始HTML标记。
在文件路径为src\FLY\BookingsBundle\Resources\views\Post\show.html.twig,第38行,在模板渲染期间抛出了异常:“提示:数组转换为字符串”。
CRITICAL - 在C:\xampp\htdocs\Symfony\app\cache\dev\classes.php的4795行处未捕获的PHP异常Twig_Error_Runtime:“在模板的渲染期间发生异常(“Notice: Array to string conversion”),位于“C:\xampp\htdocs\Symfony\src\FLY\BookingsBundle/Resources/views/Post/show.html.twig”的第38行。”。
注意:请确保不要更改原始HTML标记。
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 %}
new.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>
{{ entity.compagny }}
,compagny 是你的实体中定义的一个数组,所以它不能被Twig直接输出。也许 Compagny 不是一个数组,而你本来想在这个列中使用另一种数据类型,比如文本? - Dan Mironis