У меня есть организация Поставщик и другая организация Артикул , которая имеет отношение к этому Поставщику.Когда я показываю Поставщика, я хотел бы показать статью, предоставленную этим Поставщиком.Я добавляю дополнительное поле articles
к моей конфигурации easydamin, но у меня есть ошибка Key "label" for array with keys "0" does not exist.
в vendor / easycorp / easyadmin-bundle / src / Resources / views / default / show.html.twig (строка 28)
Я делаю свой тест в EasyCorp \ Bundle \ EasyAdminBundle \ Controller \ AdminControllerTrait :: showAction .Я добавляю queryBuilder для получения всех статей, предоставленных поставщиком, и влияю на данные в дополнительном поле, которое я добавил в конфигурации объекта easyadmin.
Переопределить AdminControllerTrait.php:
/**
* The method that is executed when the user performs a 'show' action on an entity.
*
* @return Response
*/
protected function showAction()
{
...
// Retrieve the supplier's articles.
$articles = $this->em->getRepository('App\Entity\Settings\Article')->getArticleFromSupplier($id);
$fields['articles'] = $articles;
$deleteForm = $this->createDeleteForm($this->entity['name'], $id);
...
}
Строка 28 файла show.html.twig:
23 {% block show_fields %}
24 {% for field, metadata in fields %}
25 {% block show_field %}
26 <div class="form-group field-{{ metadata.type|default('default')|lower }} {{ metadata.css_class|default('') }}">
27 <label class="control-label">
28 {{ metadata.label|trans(_trans_parameters)|raw }}
29 </label>
30 <div class="form-widget">
31 <div class="form-control">
32 {{ easyadmin_render_field_for_show_view(_entity_config.name, entity, metadata) }}
33 </div>
Мой запрос:
public function getArticleFromSupplier($supplier)
{
$query = $this->createQueryBuilder('a')
->where('a.active = true')
->orderBy('a.name', 'ASC')
->andWhere('a.supplier = :id')
->setParameter('id', $supplier)
->getQuery();
return $query->getResult();
}
Моя конфигурация easyadmin:
easy_admin:
entities:
Supplier:
show:
fields:
...
- { property: 'articles', type: 'association', label: 'Article', template: '@EasyAdmin/default/field_association.html.twig' }
Я ожидаю, чтобы отобразить таблицу статей, но я не нашел ничего в документации, чтобы сделать это.Мой запрос возвращает массив статей, но ключи этого массива отображаются в виде метки, и это возвращает ошибку.