I want to user this bundle for first time.
I folow Implementation steps but i get load exception.
Class "App\Entity\PostTranslation" sub class of "Locastic\ApiPlatformTranslationBundle\Model\AbstractTranslation" is not a valid entity or mapped super class in . (which is being imported from "/Users/xxx/Code/www/symfony/apiTranslationTest/config/routes/api_platform.yaml"). Make sure there is a loader supporting the "api_platform" type.
Did I skip something in the implementation?
-- Post.php
<?php
namespace App\Entity;
use App\Repository\PostRepository;
use Doctrine\ORM\Mapping as ORM;
use Gedmo\Mapping\Annotation as Gedmo;
use Locastic\ApiPlatformTranslationBundle\Model\AbstractTranslatable;
use Locastic\ApiPlatformTranslationBundle\Model\TranslationInterface;
use Symfony\Component\Serializer\Annotation\Groups;
/**
* @ORM\Entity(repositoryClass=PostRepository::class)
*/
class Post extends AbstractTranslatable
{
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\Column(type="string", length=255)
* @Groups({"post_read", "post_write"})
*/
private $title;
/**
* @ORM\Column(type="string", length=255)
* @Gedmo\Slug(fields={"title"})
*/
private $slug;
/**
* @ORM\Column(type="string", length=255, nullable=true)
* @Groups({"post_read", "post_write"})
*/
private $subtitle;
/**
* @ORM\Column(type="text", nullable=true)
* @Groups({"post_read", "post_write"})
*/
private $content;
/**
* @ORM\OneToMany(targetEntity="PostTranslation", mappedBy="translatable", fetch="EXTRA_LAZY", indexBy="locale", cascade={"PERSIST"}, orphanRemoval=true)
*
* @Groups({"post_write", "translations"})
*/
protected $translations;
protected function createTranslation(): TranslationInterface
{
return new PostTranslation();
}
public function getId(): ?int
{
return $this->id;
}
public function getTitle(): ?string
{
return $this->getTranslation()->getTitle();
}
public function setTitle(string $title): self
{
$this->getTranslation()->setTitle($title);
return $this;
}
public function getSlug(): ?string
{
return $this->slug;
}
public function setSlug(string $slug): self
{
$this->slug = $slug;
return $this;
}
public function getSubtitle(): ?string
{
return $this->subtitle;
}
public function setSubtitle(?string $subtitle): self
{
$this->subtitle = $subtitle;
return $this;
}
public function getContent(): ?string
{
return $this->content;
}
public function setContent(?string $content): self
{
$this->content = $content;
return $this;
}
}
-- PostTranslation.php
<?php
namespace App\Entity;
use Doctrine\ORM\Mapping as ORM;
use Locastic\ApiPlatformTranslationBundle\Model\AbstractTranslation;
use Symfony\Component\Serializer\Annotation\Groups;
class PostTranslation extends AbstractTranslation
{
/**
* @ORM\ManyToOne(targetEntity="Post", inversedBy="translations")
*/
protected $translatable;
/**
* @ORM\Column(type="string")
*
* @Groups({"post_read", "post_write", "translations"})
*/
private $title;
/**
* @ORM\Column(type="string")
*
* @Groups({"post_write", "translations"})
*/
protected $locale;
public function setTitle(string $title): void
{
$this->title = $title;
}
public function getTitle(): ?string
{
return $this->title;
}
}
Hi,
I want to user this bundle for first time. I folow Implementation steps but i get load exception.
Class "App\Entity\PostTranslation" sub class of "Locastic\ApiPlatformTranslationBundle\Model\AbstractTranslation" is not a valid entity or mapped super class in . (which is being imported from "/Users/xxx/Code/www/symfony/apiTranslationTest/config/routes/api_platform.yaml"). Make sure there is a loader supporting the "api_platform" type.
Did I skip something in the implementation?
-- Post.php
-- PostTranslation.php