, поэтому я следил за этой базой данных и учебным пособием по доктрине: https://symfony.com/doc/current/doctrine.html
единственное отличие состоит в том, что я добавил к нему поле created_ts
(среди некоторых других полей, но они работают нормально, поэтомуне нужно вдаваться в них).
Я использовал команду make:entity
для генерации моего класса, а метод для установки моего created_ts
был сгенерирован следующим образом:
public function setCreatedTs(\DateTimeInterface $created_ts): self
{
$this->created_ts = $created_ts;
return $this;
}
Так что вмоя /index
страница Я пошел, чтобы сохранить новую сущность, используя:
$category->setCreatedTs(\DateTimeInterface::class, $date);
У меня было странное чувство, что это будет ошибкой, и я был прав:
Type error: Argument 1 passed to App\Entity\Category::setCreatedTs() must implement interface DateTimeInterface, string given
но я неуверен, как реализовать DateTimeInterface
внутри функции .. Я пробовал поискать в Google, но он показывает много Symfony2
сообщений, некоторые я пытался безрезультатно.
Как мне установить значение datetime
в моей сущности из ->set
метода?
(если ответ уже есть, пожалуйста, ссылку. #symfonyScrub)
update
# tried doing this:
$dateImmutable = \DateTime::createFromFormat('Y-m-d H:i:s', strtotime('now')); # also tried using \DateTimeImmutable
$category->setCategoryName('PHP');
$category->setCategoryBio('This is a category for PHP');
$category->setApproved(1);
$category->setGuruId(1);
$category->setCreatedTs($dateImmutable); # changes error from about a string to bool