你好我是symfony的新手。 我用doctrine创建了一个实体:generate:entity并将此返回给我:
<?php
namespace LoginBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* Users
*
* @ORM\Table(name="users")
* @ORM\Entity
*/
class Users
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer", nullable=false)
* @ORM\Id
* @ORM\GeneratedValue(strategy="SEQUENCE")
* @ORM\SequenceGenerator(sequenceName="users_id_seq", allocationSize=1, initialValue=1)
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="name", type="string", length=30, nullable=false)
*/
private $name;
/**
* @var string
*
* @ORM\Column(name="lastname", type="string", length=30, nullable=false)
*/
private $lastname;
/**
* @var string
*
* @ORM\Column(name="password", type="string", length=200, nullable=false)
*/
private $password;
/**
* @var \DateTime
*
* @ORM\Column(name="ts", type="datetime", nullable=false)
*/
private $ts = 'now()';
/**
* @var string
*
* @ORM\Column(name="mail", type="string", length=150, nullable=false)
*/
private $mail;
/**
* Get id
*
* @return integer
*/
public function getId()
{
return $this->id;
}
/**
* Set name
*
* @param string $name
*
* @return Users
*/
public function setName($name)
{
$this->name = $name;
return $this;
}
/**
* Get name
*
* @return string
*/
public function getName()
{
return $this->name;
}
/**
* Set lastname
*
* @param string $lastname
*
* @return Users
*/
public function setLastname($lastname)
{
$this->lastname = $lastname;
return $this;
}
/**
* Get lastname
*
* @return string
*/
public function getLastname()
{
return $this->lastname;
}
/**
* Set password
*
* @param string $password
*
* @return Users
*/
public function setPassword($password)
{
$this->password = $password;
return $this;
}
/**
* Get password
*
* @return string
*/
public function getPassword()
{
return $this->password;
}
/**
* Set ts
*
* @param \DateTime $ts
*
* @return Users
*/
public function setTs($ts)
{
$this->ts = $ts;
return $this;
}
/**
* Get ts
*
* @return \DateTime
*/
public function getTs()
{
return $this->ts;
}
/**
* Set mail
*
* @param string $mail
*
* @return Users
*/
public function setMail($mail)
{
$this->mail = $mail;
return $this;
}
/**
* Get mail
*
* @return string
*/
public function getMail()
{
return $this->mail;
}
}
问题是带有时间戳的行
private $ ts ='now()';
现在我收到了这个错误
在字符串
上调用成员函数format()
在vendor \ doctrine \ dbal \ lib \ Doctrine \ DBAL \ Types \ DateTimeType.php(第53行)
public function convertToDatabaseValue($value, AbstractPlatform $platform) { return ($value !== null) ? $value->format($platform->getDateTimeFormatString()) : null; }
提前致谢
答案 0 :(得分:2)
如果要获取当前日期和时间,则需要设置当前日期时间。您需要创建__construct
方法:
public function __construct()
{
$this->setTs(new \DateTime());
}