我需要在一个人/工人的出生日期添加60年,这个人存储在数据库中,我有以下代码来定义此人以及吸气剂和制定者:
/**
* @ORM\Entity
* @ORM\Table(name="Worker")
* @ORM\Entity(repositoryClass="Osd\RetireBundle\Entity\WorkerRepository")
*/
class Worker
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $idWorker;
/**
* @ORM\Column(type="string", length=20)
*/
private $omang;
/**
* @ORM\Column(type="string", length=100)
*/
private $workerTitle;
/**
* @ORM\Column(type="string", length=100)
*/
private $workerName;
/**
* @ORM\Column(type="string", length=100)
*/
private $workerSurname;
/**
* @ORM\Column(type="date")
*/
private $birthDay;
/**
* @ORM\Column(type="date")
*/
private $dateOfEmployment;
在这个人/工作人员中,我真的不知道在那里做是正确的,但我试图创建一个这样的方法:
public function getRetireDate (){
if($this->getBirthDay())
return $retireYear = $this->getBirthDay()->add(new DateInterval('P60Y'));
}
我真的不知道在哪里添加方法?但是现在是在工作者里面(我是symfony的新手)。但是,当我打电话给它时,它给了我这个错误:
FatalErrorException: Error: Class 'Osd\RetireBundle\Entity\DateInterval' not found in /var/www/Org/src/Osd/RetireBundle/Entity/Worker.php line 202
任何已完成或知道如何以及在何处实现此功能的人? 关心并提前感谢您。
答案 0 :(得分:1)
我想我已经解决了问题,你的答案@david真的很有帮助;现在我的方法看起来像这样:
public function getRetireYear (){
return $this->retireYear = $this->getBirthDay()->add(new \DateInterval('P60Y'));
}
我在Worker里面有一个名为$ retireYear的私有var。而已。它运作得很好。 谢谢。
答案 1 :(得分:-1)
getRetireDate()
函数位于Worker
实体中。发生的错误可能是您没有DateInterval
实体,或者您忘记将DateInterval
实体包含在Worker
实体中。