Как правильно данные расставить в таблице?
Есить запись в таблице
Код контроллера:
<?php
namespace App\Controller;
use App\Entity\User;
use App\Entity\Day;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\Routing\Annotation\Route;
class DefaultController extends AbstractController
{
/**
* @Route("/", name="default")
*/
public function index()
{
// $em = $this->getDoctrine()->getManager();
// $menu = $em->getRepository(User::class)->findAll();
return $this->render('index.html.twig', [
'controller_name' => 'DefaultController',
'users' => $this->getDoctrine()->getManager()->getRepository(User::class)->findAll(),
'day' => $this->getDoctrine()->getManager()->getRepository(Day::class)->findAll(),
]);
}
}
Код Index.html.twig
{% extends 'base.html.twig' %}
{% block title %}Hello DefaultController!{% endblock %}
{% block body %}
{% for user in users %}
{# <h2>{{ user.name }}</h2>
<p>{{ user.day }}</p>
<p>{{ user.project }}</p> #}
{% endfor %}
<table class="table">
<thead>
<tr>
<th scope="col">Проект</th>
{% for days in day %}
<th scope="col">{{ days.day }}т</th>
{% endfor %}
</tr>
</thead>
{% for user in users %}
<tbody>
<tr>
<td>{{ user.project }}</td>
</td>
</tr>
</tbody>
{% endfor %}
</table>
{% endblock %}
Как сделать такой вывод:
Ответы (1 шт):
Автор решения: Сергей Белоусов
→ Ссылка
Можно такой запрос применить
SELECT t.`progect`,
(SELECT GROUP_CONCAT(t1.`name` SEPARATOR ', ') FROM `table` AS t1 WHERE t1.`progect` = t.project AND t1.`day` = 1) AS 'пн',
(SELECT GROUP_CONCAT(t1.`name` SEPARATOR ', ') FROM `table` AS t1 WHERE t1.`progect` = t.project AND t1.`day` = 2) AS 'вт',
(SELECT GROUP_CONCAT(t1.`name` SEPARATOR ', ') FROM `table` AS t1 WHERE t1.`progect` = t.project AND t1.`day` = 3) AS 'ср',
(SELECT GROUP_CONCAT(t1.`name` SEPARATOR ', ') FROM `table` AS t1 WHERE t1.`progect` = t.project AND t1.`day` = 4) AS 'чт',
(SELECT GROUP_CONCAT(t1.`name` SEPARATOR ', ') FROM `table` AS t1 WHERE t1.`progect` = t.project AND t1.`day` = 5) AS 'пт',
(SELECT GROUP_CONCAT(t1.`name` SEPARATOR ', ') FROM `table` AS t1 WHERE t1.`progect` = t.project AND t1.`day` = 6) AS 'сб'
(SELECT GROUP_CONCAT(t1.`name` SEPARATOR ', ') FROM `table` AS t1 WHERE t1.`progect` = t.project AND t1.`day` = 7) AS 'вс'
FROM `table` AS t
GROUP BY t.`project`
А можете обычный селект, преобразовать в нужную вам таблицу с помощью массивов в PHP

