Прежде всего, извините заранее за мой английский, который не идеален.
У меня есть проблема в течение нескольких дней, сообщая о трех объектах доктрины в шаблоне Twig Table.
Это таблица для управления запасами на работе. У меня разные материалы, которые имеют разные размеры. Каждая пара (1 материал + 1 размер) получила номер, который был заменен на заказ.
Поэтому я сначала создал 3 объекта: Stock (представляют материалы) ManyToMany Dimension (представляют размеры) Besoin (needs) получил отношение ManyToOne как к запасу, так и к размеру.
Затем я создал несколько запасов, размеров и потребностей с моими формами, чтобы получить тестовую базу данных.
Цель состоит в том, чтобы создать таблицу двойных записей с списком размеров, списком запасов и в каждой ячейке нужный номер. На этом этапе у меня есть ошибки.
Пока я могу дать вам свой код и надеюсь, что кто-то может помочь мне, дав мне советы.
Контроллер:
public function commandeAction() { $em = $this->getDoctrine()->getManager(); $materiauxlist = $em->getRepository('TGComptaBundle:Stock')->findAll(); $dimensionslist = $em->getRepository('TGComptaBundle:Dimension')->findAll(); $tab1 = array_merge($materiauxlist, $dimensionslist); $besoins = array(); foreach ($materiauxlist as $stock) { foreach ($dimensionslist as $dimension) { $besoin = $em->getRepository('TGComptaBundle:Besoin')->findBesoins($stock, $dimension); } } return $this->render('TGProdBundle:Projet:stocks.html.twig', array( 'materiauxlist' => $materiauxlist, 'dimensionslist' => $dimensionslist, 'besoin' => $besoin)); }
Посмотреть :
{% block tgprod_body %} <div class="well"> <table class="table table-hover table-bordered"> <thead> <tr> <th>#</th> {% for dimension in dimensionslist %} <th>{{ dimension.name }}</th> {% endfor %} </tr> </thead> {% for stock in materiauxlist %} <tr> <td>{{ stock.name }}</td> {% for dimension in dimensionslist %} {% if besoin %} <td>{{ besoin.nombre }}</td> {% else %} <td>X</td> {% endif %} {% endfor %} </tr> {% endfor %} </table> </div> {% endblock %}
Репозиторий:
public function findBesoins($stock, $dimension) { $qb = $this->createQueryBuilder('b'); $qb ->where('b.stock = :stock') ->andwhere('b.dimension = :dimension') ->setParameter('stock', $stock) ->setParameter('dimension', $dimension); $qb ->getQuery() ->getResult(); }
Моя фактическая проблема: у меня есть X во всех ячейках