Не могу создать расписание с датами

У меня есть следующий пользовательский объект и файл фикстуры, но когда я запускаю доктрину app/console: fixtures: load я получаю следующую ошибку и не знаю почему. Если я удаляю поля даты, приборы генерируют нормально. Что мне здесь не хватает? Благодарю.

Ошибка: не удалось определить, как назначить созданный_ат объект AppBundle\Entity\User

<?php

namespace AppBundle\Entity;

use Gedmo\Mapping\Annotation as Gedmo;
use Doctrine\ORM\Mapping as ORM;

/**
 * User
 *
 * @ORM\Table()
 * @ORM\Entity(repositoryClass="AppBundle\Entity\UserRepository")
 */
class User
{
    /**
     * @var integer
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;

    /**
     * @var string
     *
     * @ORM\Column(name="name", type="string", length=255)
     */
    private $name;

    /**
     * @var string
     *
     * @ORM\Column(name="role", type="string", length=255)
     */
    private $role;

    /**
     * @var string
     *
     * @ORM\Column(name="email", type="string", length=255)
     */
    private $email;

    /**
     * @var string
     *
     * @ORM\Column(name="phone", type="string", length=16)
     */
    private $phone;

    /**
     * @var \DateTime
     *
     * @Gedmo\Timestampable(on="create")
     * @ORM\Column(name="created_at", type="datetime", nullable=true)
     */
    private $createdAt;

    /**
     * @var \DateTime
     *
     * @Gedmo\Timestampable(on="update")
     * @ORM\Column(name="updated_at", type="datetime", nullable=true)
     */
    private $updatedAt;

И мой светильник yml:

AppBundle\Entity\User:
user{1..10}:
    name: <firstName()> <lastName()>
    role: employee
    email: <email()>
    phone: <numberBetween(1555000000, 1555999999)>
    created_at: <datetimeBetween('-5 days', 'now')>
    updated_at: <datetimeBetween('-5 days', 'now')>

2 ответа

Решение

Не уверен, но я считаю, что наименование не является правильным, только то, что говорит ошибка. Я думаю, что это должно быть:

createdAt: <datetimeBetween('-5 days', 'now')>
updatedAt: <datetimeBetween('-5 days', 'now')>

Боюсь, вы не можете установить временные поля вручную. В документации и примере сущностей для таких полей вообще нет сеттеров. Так что в креплениях можно просто убрать created_at а также updated_at (они будут установлены автоматически):

ppBundle\Entity\User:
user{1..10}:
    name: <firstName()> <lastName()>
    role: employee
    email: <email()>
    phone: <numberBetween(1555000000, 1555999999)>
Другие вопросы по тегам