Forms 如何将Symfony2中表单的日期字段数据和时间字段数据连接起来,以保存为数据库datetime字段中的datetime数据?
我想知道如何在Symfony2中将表单的日期字段数据和时间字段数据连接起来,以保存为数据库datetime字段中的datetime数据。解释如下: 我想在此屏幕截图中向表单添加两个新的时间字段: 这是表单的代码(以twig和html格式): 这是我与之交易的实体的代码:Forms 如何将Symfony2中表单的日期字段数据和时间字段数据连接起来,以保存为数据库datetime字段中的datetime数据?,forms,date,symfony,datetime,time,Forms,Date,Symfony,Datetime,Time,我想知道如何在Symfony2中将表单的日期字段数据和时间字段数据连接起来,以保存为数据库datetime字段中的datetime数据。解释如下: 我想在此屏幕截图中向表单添加两个新的时间字段: 这是表单的代码(以twig和html格式): 这是我与之交易的实体的代码: <?php namespace Ikproj\GroupeBundle\Entity; use Doctrine\ORM\Mapping as ORM; /** * eventsgroupe * * @O
<?php
namespace Ikproj\GroupeBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* eventsgroupe
*
* @ORM\Table(name="eventsgroupe")
* @ORM\Entity(repositoryClass="Ikproj\GroupeBundle\Entity\eventsgroupeRepository")
*/
class eventsgroupe
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
*
* @var integer
* @ORM\ManyToOne(targetEntity="Groupe", inversedBy="eventsgroupe")
* @ORM\JoinColumn(name="admingroupe_id", referencedColumnName="admingroupe_id", nullable=FALSE)
* @ORM\Column(name="admingroupe_id", type="string", length=255)
*/
private $idGroupe;
/**
*
* @var integer
* @ORM\ManyToOne(targetEntity="Groupe", inversedBy="eventsgroupe")
* @ORM\JoinColumn(name="idgroupe", referencedColumnName="id_groupe", nullable=FALSE)
* @ORM\Column(name="idgroupe", type="string", length=255)
*/
private $idEventGroupe;
/**
* @var string
*
* @ORM\Column(name="title", type="string", length=255)
*/
private $title;
/**
* @var \DateTime
*
* @ORM\Column(name="start", type="datetime")
*/
private $start;
/**
* @var \Date
*/
private $startdate;
/**
* @var \Time
*/
private $starttime;
/**
* @var \DateTime
*
* @ORM\Column(name="end", type="datetime")
*/
private $end;
/**
* @var \Date
*/
private $enddate;
/**
* @var \Time
*/
private $endtime;
/**
* @var string
*
* @ORM\Column(name="location", type="string", length=255)
*/
private $location;
/**
* @var string
*
* @ORM\Column(name="description", type="string", length=255)
*/
private $description;
/**
* @var boolean
*
* @ORM\Column(name="partager", type="boolean")
*/
private $partager;
/**
* Get id
*
* @return integer
*/
public function getId()
{
return $this->id;
}
public function getIdGroupe()
{
return $this->idGroupe;
}
/**
* Set title
*
* @param string $title
* @return eventsgroupe
*/
public function setTitle($title)
{
$this->title = $title;
return $this;
}
/**
* Get startdate
*
* @return date
*/
public function getStartdate()
{
return $this->startdate;
}
/**
* Set startdate
*
* @param date $startdate
* @return eventsgroupe
*/
public function setStartdate($startdate)
{
$this->startdate = $startdate;
return $this;
}
/**
* Get enddate
*
* @return date
*/
public function getEnddate()
{
return $this->enddate;
}
/**
* Set enddate
*
* @param date $enddate
* @return eventsgroupe
*/
public function setEnddate($enddate)
{
$this->enddate = $enddate;
return $this;
}
/**
* Get starttime
*
* @return time
*/
public function getStarttime()
{
return $this->starttime;
}
/**
* Set starttime
*
* @param time $starttime
* @return eventsgroupe
*/
public function setStarttime($starttime)
{
$this->starttime = $starttime;
return $this;
}
/**
* Get endttime
*
* @return time
*/
public function getEndtime()
{
return $this->endttime;
}
/**
* Set endtime
*
* @param time $endtime
* @return eventsgroupe
*/
public function setEndtime($endtime)
{
$this->endtime = $endtime;
return $this;
}
/**
* Set start
*
* @param \DateTime $start
* @return eventsgroupe
*/
public function setStart($startdate,$starttime)
{
//$this->start = $start;
$this->start.date('yyyy-MM-dd') = $startdate;
$this->start.time() = $starttime;
return $this;
}
/**
* Get start
*
* @return \DateTime
*/
public function getStart()
{
return $this->start;
}
/**
* Set end
*
* @param \DateTime $end
* @return eventsgroupe
*/
public function setEnd($enddate,$endtime)
{
$this->end.date('yyyy-MM-dd') = $enddate;
$this->end.time() = $endtime;
return $this;
}
/**
* Get end
*
* @return \DateTime
*/
public function getEnd()
{
return $this->end;
}
/**
* Set location
*
* @param string $location
* @return eventsgroupe
*/
public function setLocation($location)
{
$this->location = $location;
return $this;
}
/**
* Get location
*
* @return string
*/
public function getLocation()
{
return $this->location;
}
/**
* Set description
*
* @param string $description
* @return eventsgroupe
*/
public function setDescription($description)
{
$this->description = $description;
return $this;
}
/**
* Get description
*
* @return string
*/
public function getDescription()
{
return $this->description;
}
/**
* Set partager
*
* @param boolean $partager
* @return eventsgroupe
*/
public function setPartager($partager)
{
$this->partager = $partager;
return $this;
}
/**
* Get partager
*
* @return boolean
*/
public function getPartager()
{
return $this->partager;
}
public function setIdGroupe($idGroupe)
{
$this->idGroupe = $idGroupe;
return $this;
}
public function setIdEventGroupe($idEventGroupe)
{
$this->idEventGroupe = $idEventGroupe;
return $this;
}
public function getIdEventGroupe()
{
return $this->idEventGroupe;
}
}
还有这个:
/**
* Get startdate
*
* @return date
*/
public function getStartdate()
{
return $this->startdate;
}
/**
* Set startdate
*
* @param date $startdate
* @return eventsgroupe
*/
public function setStartdate($startdate)
{
$this->startdate = $startdate;
return $this;
}
/**
* Get enddate
*
* @return date
*/
public function getEnddate()
{
return $this->enddate;
}
/**
* Set enddate
*
* @param date $enddate
* @return eventsgroupe
*/
public function setEnddate($enddate)
{
$this->enddate = $enddate;
return $this;
}
/**
* Get starttime
*
* @return time
*/
public function getStarttime()
{
return $this->starttime;
}
/**
* Set starttime
*
* @param time $starttime
* @return eventsgroupe
*/
public function setStarttime($starttime)
{
$this->starttime = $starttime;
return $this;
}
/**
* Get endttime
*
* @return time
*/
public function getEndtime()
{
return $this->endttime;
}
/**
* Set endtime
*
* @param time $endtime
* @return eventsgroupe
*/
public function setEndtime($endtime)
{
$this->endtime = $endtime;
return $this;
}
/**
* Set start
*
* @param \DateTime $start
* @return eventsgroupe
*/
public function setStart($startdate,$starttime)
{
//$this->start = $start;
$this->start.date('yyyy-MM-dd') = $startdate;
$this->start.time() = $starttime;
return $this;
}
/**
* Get start
*
* @return \DateTime
*/
public function getStart()
{
return $this->start;
}
/**
* Set end
*
* @param \DateTime $end
* @return eventsgroupe
*/
public function setEnd($enddate,$endtime)
{
$this->end.date('yyyy-MM-dd') = $enddate;
$this->end.time() = $endtime;
return $this;
}
/**
* Get end
*
* @return \DateTime
*/
public function getEnd()
{
return $this->end;
}
问题是,当我运行代码时,表单不会显示,这就是我看到的:
所以我的问题是:我的代码到底出了什么问题???。有人知道吗?在表单模板中,您可以添加两次starttime,而不是一次starttime和一次endtime。除此之外,我不知道您的控制器逻辑。您应该将getStartTime()的逻辑更改为smth,如下所示:return$this->getStart()->format(“H:m:s”);并将setStart改回setStart(\DateTime$start),因为条令需要以这种方式水合实体。
<?php
namespace Ikproj\GroupeBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* eventsgroupe
*
* @ORM\Table(name="eventsgroupe")
* @ORM\Entity(repositoryClass="Ikproj\GroupeBundle\Entity\eventsgroupeRepository")
*/
class eventsgroupe
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
*
* @var integer
* @ORM\ManyToOne(targetEntity="Groupe", inversedBy="eventsgroupe")
* @ORM\JoinColumn(name="admingroupe_id", referencedColumnName="admingroupe_id", nullable=FALSE)
* @ORM\Column(name="admingroupe_id", type="string", length=255)
*/
private $idGroupe;
/**
*
* @var integer
* @ORM\ManyToOne(targetEntity="Groupe", inversedBy="eventsgroupe")
* @ORM\JoinColumn(name="idgroupe", referencedColumnName="id_groupe", nullable=FALSE)
* @ORM\Column(name="idgroupe", type="string", length=255)
*/
private $idEventGroupe;
/**
* @var string
*
* @ORM\Column(name="title", type="string", length=255)
*/
private $title;
/**
* @var \DateTime
*
* @ORM\Column(name="start", type="datetime")
*/
private $start;
/**
* @var \Date
*/
private $startdate;
/**
* @var \Time
*/
private $starttime;
/**
* @var \DateTime
*
* @ORM\Column(name="end", type="datetime")
*/
private $end;
/**
* @var \Date
*/
private $enddate;
/**
* @var \Time
*/
private $endtime;
/**
* @var string
*
* @ORM\Column(name="location", type="string", length=255)
*/
private $location;
/**
* @var string
*
* @ORM\Column(name="description", type="string", length=255)
*/
private $description;
/**
* @var boolean
*
* @ORM\Column(name="partager", type="boolean")
*/
private $partager;
/**
* Get id
*
* @return integer
*/
public function getId()
{
return $this->id;
}
public function getIdGroupe()
{
return $this->idGroupe;
}
/**
* Set title
*
* @param string $title
* @return eventsgroupe
*/
public function setTitle($title)
{
$this->title = $title;
return $this;
}
/**
* Get startdate
*
* @return date
*/
public function getStartdate()
{
return $this->startdate;
}
/**
* Set startdate
*
* @param date $startdate
* @return eventsgroupe
*/
public function setStartdate($startdate)
{
$this->startdate = $startdate;
return $this;
}
/**
* Get enddate
*
* @return date
*/
public function getEnddate()
{
return $this->enddate;
}
/**
* Set enddate
*
* @param date $enddate
* @return eventsgroupe
*/
public function setEnddate($enddate)
{
$this->enddate = $enddate;
return $this;
}
/**
* Get starttime
*
* @return time
*/
public function getStarttime()
{
return $this->starttime;
}
/**
* Set starttime
*
* @param time $starttime
* @return eventsgroupe
*/
public function setStarttime($starttime)
{
$this->starttime = $starttime;
return $this;
}
/**
* Get endttime
*
* @return time
*/
public function getEndtime()
{
return $this->endttime;
}
/**
* Set endtime
*
* @param time $endtime
* @return eventsgroupe
*/
public function setEndtime($endtime)
{
$this->endtime = $endtime;
return $this;
}
/**
* Set start
*
* @param \DateTime $start
* @return eventsgroupe
*/
public function setStart($startdate,$starttime)
{
//$this->start = $start;
$this->start.date('yyyy-MM-dd') = $startdate;
$this->start.time() = $starttime;
return $this;
}
/**
* Get start
*
* @return \DateTime
*/
public function getStart()
{
return $this->start;
}
/**
* Set end
*
* @param \DateTime $end
* @return eventsgroupe
*/
public function setEnd($enddate,$endtime)
{
$this->end.date('yyyy-MM-dd') = $enddate;
$this->end.time() = $endtime;
return $this;
}
/**
* Get end
*
* @return \DateTime
*/
public function getEnd()
{
return $this->end;
}
/**
* Set location
*
* @param string $location
* @return eventsgroupe
*/
public function setLocation($location)
{
$this->location = $location;
return $this;
}
/**
* Get location
*
* @return string
*/
public function getLocation()
{
return $this->location;
}
/**
* Set description
*
* @param string $description
* @return eventsgroupe
*/
public function setDescription($description)
{
$this->description = $description;
return $this;
}
/**
* Get description
*
* @return string
*/
public function getDescription()
{
return $this->description;
}
/**
* Set partager
*
* @param boolean $partager
* @return eventsgroupe
*/
public function setPartager($partager)
{
$this->partager = $partager;
return $this;
}
/**
* Get partager
*
* @return boolean
*/
public function getPartager()
{
return $this->partager;
}
public function setIdGroupe($idGroupe)
{
$this->idGroupe = $idGroupe;
return $this;
}
public function setIdEventGroupe($idEventGroupe)
{
$this->idEventGroupe = $idEventGroupe;
return $this;
}
public function getIdEventGroupe()
{
return $this->idEventGroupe;
}
}
/**
* @var \DateTime
*
* @ORM\Column(name="start", type="datetime")
*/
private $start;
/**
* @var \Date
*/
private $startdate;
/**
* @var \Time
*/
private $starttime;
/**
* @var \DateTime
*
* @ORM\Column(name="end", type="datetime")
*/
private $end;
/**
* @var \Date
*/
private $enddate;
/**
* @var \Time
*/
private $endtime;
/**
* Get startdate
*
* @return date
*/
public function getStartdate()
{
return $this->startdate;
}
/**
* Set startdate
*
* @param date $startdate
* @return eventsgroupe
*/
public function setStartdate($startdate)
{
$this->startdate = $startdate;
return $this;
}
/**
* Get enddate
*
* @return date
*/
public function getEnddate()
{
return $this->enddate;
}
/**
* Set enddate
*
* @param date $enddate
* @return eventsgroupe
*/
public function setEnddate($enddate)
{
$this->enddate = $enddate;
return $this;
}
/**
* Get starttime
*
* @return time
*/
public function getStarttime()
{
return $this->starttime;
}
/**
* Set starttime
*
* @param time $starttime
* @return eventsgroupe
*/
public function setStarttime($starttime)
{
$this->starttime = $starttime;
return $this;
}
/**
* Get endttime
*
* @return time
*/
public function getEndtime()
{
return $this->endttime;
}
/**
* Set endtime
*
* @param time $endtime
* @return eventsgroupe
*/
public function setEndtime($endtime)
{
$this->endtime = $endtime;
return $this;
}
/**
* Set start
*
* @param \DateTime $start
* @return eventsgroupe
*/
public function setStart($startdate,$starttime)
{
//$this->start = $start;
$this->start.date('yyyy-MM-dd') = $startdate;
$this->start.time() = $starttime;
return $this;
}
/**
* Get start
*
* @return \DateTime
*/
public function getStart()
{
return $this->start;
}
/**
* Set end
*
* @param \DateTime $end
* @return eventsgroupe
*/
public function setEnd($enddate,$endtime)
{
$this->end.date('yyyy-MM-dd') = $enddate;
$this->end.time() = $endtime;
return $this;
}
/**
* Get end
*
* @return \DateTime
*/
public function getEnd()
{
return $this->end;
}