我想在我的網站中設置一個初始AdminUser。當我將它加載到數據庫時,由於「updateAt」字段而無法上載。我收到以下錯誤,當我離開setUpdatedAt空白:Symfony DataFixtures設置默認值
SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'updatedAt' ca
nnot be null
我在夾具文件失敗設置的任何值,我得到以下錯誤:(我曾經嘗試輸入在這個例子中,實際爲準)
[Symfony\Component\Debug\Exception\FatalErrorException]
Parse Error: syntax error, unexpected '"2014-12-26 21:01:40"' (T_CONSTANT_E
NCAPSED_STRING), expecting identifier (T_STRING)
這裏是數據文件燈具:
<?php
namespace Usuarios\AdminBundle\DataFixtures\ORM;
use Doctrine\Common\DataFixtures\FixtureInterface;
use Doctrine\Common\Persistence\ObjectManager;
use Usuarios\UsersBundle\Entity\User;
class LoadUserData implements FixtureInterface
{
/**
* {@inheritDoc}
*/
public function load(ObjectManager $manager)
{
$userAdmin = new User();
$userAdmin->setUsername('Admin');
$userAdmin->setPlainPassword('1234');
$userAdmin->setEmail('[email protected]');
$userAdmin->setRoles(array('ROLE_ADMIN'));
$userAdmin->setEnabled('1');
$userAdmin->setUpdatedAt(\"2014-12-26 21:01:40");
$manager->persist($userAdmin);
$manager->flush();
}
}
我試過很多不同類型INPUD在updatedAt數據,但我不能得到正確的數據類型或讓代碼留空。
這裏是UpdatedAt實體代碼:
<?php
namespace Usuarios\UsersBundle\Entity;
use DateTime;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\ORM\Mapping as ORM;
use FOS\UserBundle\Model\User as BaseUser;
use Gedmo\Mapping\Annotation as Gedmo;
/**
* User
*
* @ORM\Table(name="0_00_users")
* @ORM\Entity
*/
class User extends BaseUser
/**
* @var datetime $updatedAt
*
* @Gedmo\Timestampable(on="update")
* @ORM\Column(name="updatedAt", type="datetime", nullable=true)
*/
protected $updatedAt;
/**
* Set updatedAt
*
* @param \DateTime $updatedAt
* @return User
*/
public function setUpdatedAt($updatedAt)
{
$this->updatedAt = $updatedAt;
return $this;
}
/**
* Get updatedAt
*
* @return \DateTime
*/
public function getUpdatedAt()
{
return $this->updatedAt;
}
我怎樣才能解決這個問題呢?
謝謝!我錯過了'新'標籤。 – Garces