Я получаю эту ошибку, которую, я думаю, получаю при попытке доступа к любому репозиторию сущностей.
An exception has been thrown during the rendering of a template ("Cache key "App:Category__CLASSMETADATA__" contains reserved characters "{}()/@:".").
Я загрузил фиксацию, когда код в последний раз работал, и перезагрузил, но я все еще получаю эту ошибку.
Я пытался найти ответ в предыдущих сообщениях, но они не работают для меня, потому что, например, у меня нет @Assert нигде в коде.
Я попытался просмотреть файл composer.json и обновить все библиотеки до последней версии, а затем удалить папку поставщика и обновление композитора, потому что это сработало для кого-то. Но это не сработало для меня.
Я использую Symfony 5.4 и PHP 8.0.
Категория.php
<?php
namespace App\Entity;
use App\Repository\CategoryRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
#[ORM\Entity(repositoryClass: CategoryRepository::class)]
class Category
{
#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column(type: 'integer')]
private $id;
#[ORM\Column(type: 'string', length: 255)]
private $name;
#[ORM\OneToMany(mappedBy: 'category', targetEntity: Product::class, orphanRemoval: true)]
private $products;
public function __construct()
{
$this->products = new ArrayCollection();
}
public function getId(): ?int
{
return $this->id;
}
public function getName(): ?string
{
return $this->name;
}
public function setName(string $name): self
{
$this->name = $name;
return $this;
}
/**
* @return Collection<int, Product>
*/
public function getProducts(): Collection
{
return $this->products;
}
public function addProduct(Product $product): self
{
if (!$this->products->contains($product)) {
$this->products[] = $product;
$product->setCategory($this);
}
return $this;
}
public function removeProduct(Product $product): self
{
if ($this->products->removeElement($product)) {
// set the owning side to null (unless already changed)
if ($product->getCategory() === $this) {
$product->setCategory(null);
}
}
return $this;
}
}
Я буду рад поделиться любой информацией, которая, по вашему мнению, может быть полезной.
Заранее большое спасибо.
Обновлено: я только что загрузил коммит в другую папку и перезапустил все, но все равно получаю то же сообщение об ошибке.
Спасибо за ответ, я добавил объект категории
Вы пробовали вручную очистить кеш?
Да, я делал Bin/console cache:clear --end=dev каждый раз после обновления композитора
Julien означает удалить папку напрямую вместо команды symfony. Вы пытались очистить кеш доктрины с помощью bin/console doctrine:cache:clear-metadata
?
ах да я пробовал удалять папку с дерева и теперь ваше предложение но ничего не изменилось
Попробуйте заменить «App:Category» на «App\Entity\Category» при вызове контроллеров, форм и репозиториев.
Мы столкнулись с той же проблемой, и замена сработала для нас.
Можете ли вы добавить объект категории к своему вопросу, пожалуйста