Я новичок в симфонии и пытаюсь зарегистрировать сущность на своей базе с помощью формы.Вот форма:
<?php
namespace App\Form;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\MoneyType;
use Symfony\Component\Form\Extension\Core\Type\TelType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\Extension\Core\Type\NumberType;
class OfferType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('title', TextType::class, array('label' => '*Title: ' , 'attr' => array('class' => 'input2')))
->add('nameofgame', TextType::class, array('label' => 'Name of the Game:','attr' => array('class' => 'create button1')))
->add('description', TextType::class, array('label' => 'Description: ' , 'attr' => array('class' => 'input2')))
->add('price', MoneyType::class, array('label' => '*Price: ' , 'attr' => array('class' => 'input2')))
->add('numbertelephone', TelType::class, array('label' => 'Telephone Number:','attr' => array('class' => 'create button1')))
->add('save', SubmitType::class, array('label' => 'Post Offer','attr' => array('class' => 'create button1')))
;
}
}
Вот мой контроллер:
/**
* @Route("/BoardFind/Trade/RegisterOffer", name="RegisterOffer")
* @param Request $request
* @return \Symfony\Component\HttpFoundation\RedirectResponse|\Symfony\Component\HttpFoundation\Response
*/
public function register(Request $request)
{
$Offer = new TradeOffer();
$form = $this->createForm(OfferType::class, $Offer);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$Offer = $form->getData();
echo maleee;
$entityManager = $this->getDoctrine()->getManager();
$session = $this->get('session');
$userId = $session->get("id");
$user = $this->getDoctrine()
->getRepository(User::class)->find($userId);
$Offer->setUser($user);
$Offer->setTraderName($user->getName());
$Offer->setTraderLastName($user->getLastName());
$Offer->setUsername($user->getUsername());
$Offer->setTraderEmail($user->getEmail());
$entityManager->persist($Offer);
$entityManager->flush();
$flashbag = $this->get('session')->getFlashBag();
$flashbag->add("SuccessfullRegister", "You successfully registered your offer!");
return $this->redirectToRoute('Trade');
}
return $this->render('home/RegisterOffer.html.twig', array(
'form' => $form->createView(),
));
}
Когда я пытаюсь зарегистрировать предложение, он говорит, что «Ожидаемый аргумент типа« App \ Entity \ double »"двойной" дано. "но дело в том, что я считаю, что собственность субъекта правильная.Вот свойство:
/**
* @Assert\Type("double")
* @Assert\NotBlank()
*/
private $price;
Если вы хотите изображение ошибки здесь это так.Так в чем же проблема?