У меня проблема с формой, которая удаляет объект доктрины при публикации в Symfony 4. Я искал проблему и обнаружил, что мне может потребоваться определить службу?Я новичок в Symfony, так что не вините меня, пожалуйста ... Я использую таблицы данных, и форма в модальном.Когда я нажимаю кнопку удаления в модальном режиме, он пытается отправить сообщение на маршрут, но появляется сообщение об ошибке:
Служба «запрос» не найдена: вы имели в виду «request_stack»?В любом случае, контейнер внутри «App \ Controller \ ItemManagement» - это меньший локатор службы, который знает только о «doctrine», «form.factory», «http_kernel», «parameter_bag», «request_stack», «router», «security»Услуги .csrf.token_manager "," session "и" twig ".Попробуйте вместо этого использовать внедрение зависимостей.
<div class="modal fade" id="deleteModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalCenterTitle" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="deleteit">Delete Item</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
Are you sure you want to delete this item?
<form action="{{ path('delete_item')}}" method="POST" id="theform" >
<input type="hidden" value="" name="itemtodel" id="itemtodel"/>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
<button type="submit" form="theform" class="btn btn-danger">Delete</button>
</div>
</div>
</div>
</div>
В Контроллер :
/**
* @Route("/delitem", name="delete_item", methods={"POST"});
*/
public function deletetheitem(Request $request)
{
if ($request->isMethod('POST')) {
$itemid = $this->get('request')->request->get('itemtodel');
... deleting item code...
}
}
return $this->redirectToRoute("item_management", [], 301);
}
Маршрут item_management находится в том же контроллере и работает нормально.Я делаю это неправильно?Пожалуйста, если у вас есть что предложить, я буду признателен, спасибо !!!!