首页 > 解决方案 > 在树枝中注入常量参数形式的吸气剂

问题描述

我在我的实体中定义了常量,例如:

$fieldName = User::METADATA_OF_USER

它作为实体 getter 参数传递:

public function getMetaDataField($fieldName)
{
    $metadata = json_decode($this->metadata, true);

    return $metadata[$fieldName] ?? null;
}

当我尝试在树枝中传递它时:

{ item.metadataField }}

它要求 fieldName 参数为常量。

我尝试了一些树枝常量的解决方案,但没有一个对我有用。我有什么方法可以在视图中注入该常量?

标签: symfonytwigsymfony4

解决方案


根据Twig 文档,您需要使用以下constant功能:

{{ item.getMetaDataField(constant('Namespace\\User::METADATA_OF_USER')) }}
// or
{{ item.getMetaDataField(constant('METADATA_OF_USER', instance)) }}

注意\\.


推荐阅读