Sulu:实体没有字段或关联错误



我在这里以苏鲁为例:https://github.com/sulu/sulu-workshop/尝试为自定义实体类型设置翻译。

我的实体文件具有字段"的getter;home_team";定义为:

/**
* @SerializerVirtualProperty(name="home_team")
*/
public function getHomeTeam(): ?string
{
$translation = $this->getTranslation($this->locale);
if (!$translation) {
return null;
}
return $translation->getHomeTeam();
}

所以,字段实际上并不是那个实体的一部分,而是它的翻译实体,因为它假定是可翻译的。

当我尝试创建该实体类型的新对象时,它运行良好。我可以在数据库中看到字段值存储得很好,并且我没有得到任何错误。

但在概览页面上,而不是所有对象的列表上,我得到了错误:

[语义错误]第0行,第73列,靠近"home_team AS":错误:类App\Entity\MatchEvent没有名为home_team的字段或关联

知道这里可能出了什么问题吗?

如果你想在listView中看到翻译,你必须创建一个真正的translationEntity,就像在车间项目中一样。在这篇文章中,已经解释了如何正确翻译自定义实体。

如果您已经创建了translationEntity,则必须通过联接来配置翻译与主实体的关系。以下是车间中此配置的示例。

Sulu使用优化的查询直接从数据库创建列表对象。因此,由于性能原因,实体本身不会水合或串行化。因此,您的virtualProperty永远不会被执行。

最新更新