У меня есть сущность с именем worker, и у каждого работника есть свойство active, которое имеет логическое значение.
Моя ветка - это индекс, который показывает список работников с active = true.У меня есть кнопка перед каждым работником, и когда я нажимаю эту кнопку, я хочу, чтобы она сменила активное свойство этого работника на false.
Проблема : я не мог понять, какизмените это значение в контроллере, не создавая форму, так как я все еще любитель, когда дело доходит до Symfony
Вот моя веточка:
<table id="file_export" class="table table-striped table-bordered">
<thead>
<tr>
<th>ID</th>
<th>First Name</th>
<th>Last name</th>
<th>Active</th>
<th>edit</th>
</tr>
</thead>
<tbody>
{% for worker in workers %}
<tr>
<td>{{ worker.id }}</td>
<td>{{ worker.Firstname }}</td>
<td>{{ woker.Lastname }}</td>
<td>{{ worker.active ? 'active' : 'inactive' }}</td>
<td>
<a href="{{ path('worker_edit', {'id': worker.id}) }}" class="btn btn-round btn-info" role="button"><i class="fa fa-pencil"></i></a>
</td>
</tr>
{% endfor %}
</tbody>
</table>
и мой контроллер (который не работает):
/**
* @Route("/{id}/edit", name="worker_edit", methods={"GET","POST"})
*/
public function edit(Request $request, Worker $worker): Response
{
if ($this->isCsrfTokenValid('edit'.$worker->getId(), $request->request->get('_token'))) {
$worker->setActive(false);
$entityManager = $this->getDoctrine()->getManager();
$entityManager->persist($worker);
$entityManager->flush();
}
return $this->redirectToRoute('index');
}