首页 > 解决方案 > Symfony 3:日期时间/日期时间:

问题描述

我正在发现 Symfony。我想在我的数据库中插入用户在表单中存在的 DateType 字段中选择的日期。这是我的实体“Suivi”,带有日期字段:

class Suivi {

/**
 * @var int
 *
 * @ORM\Column(name="id", type="integer")
 * @ORM\Id
 * @ORM\GeneratedValue(strategy="AUTO")
 */
private $id;

/**
 * @var projet
 *
 * @ORM\ManyToOne(targetEntity="CDR\ProjetBundle\Entity\Projet", cascade={"persist"})
 */
private $projet;

/**
 * @var date
 *@ORM\Column(name="date", type="date")
 */
private $date;

这是我的表格:

public function buildForm(FormBuilderInterface $builder, array $options) {
    $builder
            ->add('Date', DateType::class)
            ->add('Moyen', ChoiceType::class, array('choices'  => array(
    'Téléphone' => "Téléphone",
    'Email' => "Email",
)))
            ->add('Contenu', TextareaType::class)              
            ->add('Enregistrer', SubmitType::class)
    ;
}

这是控制器文件中的操作:

public function ajouterSuiviAction(Request $request, $id) {
    $suivi = new Suivi();
    $em = $this->getDoctrine()->getManager();
    $projet = $em->getRepository("CDRProjetBundle:Projet")->find($id);
    $form = $this->get('form.factory')->create(SuiviType::class, $suivi);
    if ($request->isMethod('POST') && $form->handleRequest($request)->isValid()) {
        $em = $this->getDoctrine()->getManager();
        $em->persist($suivi);
        $em->flush();

        return $this->redirectToRoute('cdr_projet_suivi');
    }

    return $this->render('CDRProjetBundle:Projet:ajoutsuivi.html.twig', array(
                'projet' => $projet,
                'form' => $form->createView(),
    ));
}

当我提交表单时,出现以下错误: 错误

有人有想法吗?

标签: phpsymfonydatetimephpmyadmin

解决方案


Thanks for your help. My setDate function was generated like this :

/**
 * Set date
 *
 * @param \date_time $date
 *
 * @return Suivi
 */
public function setDate(\date_time $date)
{
    $this->date = $date;

    return $this;
}

It's better like that :

/**
 * Set date
 *
 * @param \DateTime $date
 *
 * @return Suivi
 */
public function setDate(\DateTime $date)
{
    $this->date = $date;

    return $this;
}

推荐阅读