Привет мне нужна помощь мышления о форме с классом сущности.
У меня есть функция редактирования
/**
* @Route("/{id}/edit", name="admin_product_group_edit", methods={"GET","POST"})
*/
public function edit(Request $request, ProductGroup $productGroup): Response
{
$form = $this->createForm(ProductGroupType::class, $productGroup);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$this->getDoctrine()->getManager()->flush();
return $this->redirectToRoute('admin_product_group_index', [
'id' => $productGroup->getId(),
]);
}
return $this->render('admin/product_group/edit.html.twig', [
'product_group' => $productGroup,
'form' => $form->createView(),
'scrollUp' => true,
]);
}
и у меня есть форма Тип
use App\Entity\ProductGroup;
use App\Entity\ProductType;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
class ProductGroupType extends AbstractType {
public function buildForm(FormBuilderInterface $builder, array $options) {
$builder
->add('nameDe')
->add('nameEn')
->add('descriptionDe')
->add('descriptionEn')
->add('rank')
->add('active')
->add('creatDate')
->add('updateDate')
->add('productTypes', EntityType::class, [
// looks for choices from this entity
'class' => ProductType::class,
// uses the User.username property as the visible option string
'choice_label' => 'nameDe',
// used to render a select box, check boxes or radios
// 'multiple' => true,
// 'expanded' => true,
]);
}
public function configureOptions(OptionsResolver $resolver) {
$resolver->setDefaults([
'data_class' => ProductGroup::class,
]);
}
}
При создании новой группы товаров все окончательно, но после ее редактирования я не могу получить форму редактирования.
Я получаю эту ошибку
Аргумент 1, передаваемый в App \ Controller \ Admin \ ProductGroupController :: edit (), должен быть экземпляром App \ Entity \ ProductGroup, заданным экземпляром App \ Entity \ ProductType, вызываемым в / var / www / symfony-michael- roskosch / htdocs / vendor / symfony / http-kernel / HttpKernel.php в строке 150
Это symfony 4.3 с symfony2 У меня не было проблем с этим, вы можете дать мне совет?