Symfony Кто нарушит MVC, тот лох!

Бибиобекуль

Новичок
Здравствуйте.
Начинаю работать в Symfony. Хочу вывести список работников не нарушив MVC (но не знаю как).
У entity класса Worker есть поле dismissed которое boolean. Выводить должно "уволен" если поле истина и ничего иначе.
Сейчас я делаю эту проверку в самом шаблоне, но понимаю, что это как-то должно быть в контроллере.
Подскажите, как это умные люди делают?


// src/Entity/Worker.php

PHP:
class Worker
{
    /**
     * @ORM\Id()
     * @ORM\GeneratedValue()
     * @ORM\Column(type="integer")
     */
    private $id;

    /**
     * @ORM\Column(type="string", length=255)
     */
    private $name;

    /**
     * @ORM\Column(type="date")
     */
    private $begin;

    /**
     * @ORM\Column(type="boolean")
     */
    private $dismissed;

    public function getId(): ?int
    {
        return $this->id;
    }

    public function getName(): ?string
    {
        return $this->name;
    }

    public function setName(string $name): self
    {
        $this->name = $name;

        return $this;
    }

    public function getBegin(): ?\DateTimeInterface
    {
        return $this->begin;
    }

    public function setBegin(\DateTimeInterface $begin): self
    {
        $this->begin = $begin;

        return $this;
    }

    public function getDismissed(): ?bool
    {
        return $this->dismissed;
    }

    public function setDismissed(bool $dismissed): self
    {
        $this->dismissed = $dismissed;

        return $this;
    }
}
// src/Controller/WorkerController.php

PHP:
class WorkerController extends AbstractController
{
    /**
     * @Route("/workers", name="worker")
     */
    public function index()
    {
        $em = $this->getDoctrine()->getManager();
        $workers = $em->getRepository(Worker::class)->findAll();

        return $this->render('worker/index.html.twig', [
            'controller_name' => 'WorkerController',
            'workers' => $workers
        ]);
    }
}
//src/templates/worker/index.html.twig
HTML:
{% extends 'base.html.twig' %}

{% block title %}Список рабочих{% endblock %}

{% block body %}
<style>
    .example-wrapper { margin: 1em auto; max-width: 800px; width: 95%; font: 18px/1.5 sans-serif; }
    .example-wrapper code { background: #F5F5F5; padding: 2px 6px; }
</style>

<div class="example-wrapper">
    <h1>Список рабочих</h1>
    <a href="{{ path('create_worker') }}">Добавить рабочего</a>
    {% for worker in workers %}
    <div class="card bg-primary text-white">
        <div class="card-body">
            <div>Имя: {{ worker.name }}</div>
            <br />
            <div>{{ worker.dismissed ? 'Уволен' : ''}}</div>
            <br />


            <div class="text-white bg-white"><a href="{{ path('dismiss_worker', {'worker' : worker.id}) }}">уволить</a></div>
        </div>
    </div>
    {% endfor %}
</div>
{% endblock %}
 

fixxxer

К.О.
Партнер клуба
Нет, в контроллере ничего быть не должно такого. Все ок.
 
Сверху