微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Api 平台在实体继承中没有得到翻译

如何解决Api 平台在实体继承中没有得到翻译

我在实现 Gedmo\Translatable\Translatable 的学说中有类继承,

如果我自己获取数据,或者使用其他第三方库(如 EasyAdmin),它会根据 Accept-Language 标头正常工作。但是使用 api 平台我总是得到认的。 对于没有类继承的任何其他实体,如果它有效。

这个例子在子类中实现了 Translatable,但我也在父类中尝试过。

我的配置是:

# config/packages/stof_doctrine_extensions.yaml
stof_doctrine_extensions:
    default_locale: '%locale%'
    translation_fallback: true
    persist_default_translation: true
    orm:
        default:
            timestampable: true
            sluggable: true
            blameable: true
            translatable: true
<?PHP

namespace App\Entity;

use App\Repository\GreetingRepository;
use Doctrine\ORM\Mapping as ORM;
use Gedmo\Mapping\Annotation as Gedmo;

/**
 * @ORM\Entity(repositoryClass=GreetingRepository::class)
 * @ORM\InheritanceType("JOINED")
 * @ORM\discriminatorColumn(name="type",type="integer")
 * @ORM\discriminatorMap({
 *  0 = "App\Entity\Greeting",*  1 = "App\Entity\Hello",* })
 */
class Greeting
{
    /**
     * @ORM\Id
     * @ORM\GeneratedValue
     * @ORM\Column(type="integer")
     */
    protected $id;

    /**
     * @ORM\Column(type="string",length=255)
     * @Gedmo\Translatable
     */
    protected $title;

    public function getId(): ?int
    {
        return $this->id;
    }

    public function getTitle(): ?string
    {
        return $this->title;
    }

    public function setTitle(string $title): self
    {
        $this->title = $title;

        return $this;
    }
}

<?PHP

namespace App\Entity;

use App\Repository\HelloRepository;
use Doctrine\ORM\Mapping as ORM;
use Gedmo\Translatable\Translatable;
use Gedmo\Mapping\Annotation as Gedmo;

/**
 * @ORM\Entity(repositoryClass=HelloRepository::class)
 */
class Hello extends Greeting implements Translatable
{
    /**
     * @ORM\Column(type="string",length=255)
     * @Gedmo\Translatable
     */
    protected $form;

    public function getId(): ?int
    {
        return $this->id;
    }

    public function getForm(): ?string
    {
        return $this->form;
    }

    public function setForm(string $form): self
    {
        $this->form = $form;

        return $this;
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?