Symfony 3调用字符串上的成员函数格式()
Posted
技术标签:
【中文标题】Symfony 3调用字符串上的成员函数格式()【英文标题】:Symfony 3 Call to a member function format() on string 【发布时间】:2017-12-02 03:45:09 【问题描述】:你好,我是 symfony 的新手。 我用教义创建了一个实体: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;
问题出在带时间戳的那一行
私有 $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;
提前致谢
【问题讨论】:
【参考方案1】:如果要获取当前日期和时间,则需要设置当前日期时间。你需要创建__construct
方法:
public function __construct()
$this->setTs(new \DateTime());
【讨论】:
感谢您的回答。那私人 $ts = 'now()';是为教义创建的:生成:实体所以我再次运行它它再次设置了那条线。我不知道为什么。我该怎么办? 尝试删除分配= now();
。像这样得到它:private $ts;
。并在控制台中编写 php app/console 学说:generate:entities YourBundleName.以上是关于Symfony 3调用字符串上的成员函数格式()的主要内容,如果未能解决你的问题,请参考以下文章
FatalErrorException:错误:在非对象 symfony 上调用成员函数 has()
在 Symfony 中找不到在 null 上调用成员函数 isPasswordValid() 的解决方案
Symfony 4.4 FOS user-bundle api/auth/login 在 null 上调用成员函数 findOneBy()