与 Shopware6 实体定义中的 JSON 字段关联

问题描述 投票:0回答:1

我有一个类别_ids 作为 json 字段的实体,我想添加与类别实体的关联以获取类别的名称 如何做到这一点

这是我的实体定义,这个ManyToManyAssociationField不起作用

protected function defineFields(): FieldCollection
    {
        return new FieldCollection([
            (new IdField('id', 'id'))->addFlags(new Required(), new PrimaryKey()),
            (new StringField('group_name','group_name')),
            (new JsonField('category_ids', 'category_ids'))->addFlags(new Required()),
            (new FkField('shipping_method_id', 'shipping_method_id', ShippingMethodDefinition::class))->addFlags(new Required()),
            (new CreatedAtField()),
            (new UpdatedAtField()),
            (new ManyToOneAssociationField('shippingMethod', 'shipping_method_id', ShippingMethodDefinition::class)),
            new ManyToManyAssociationField('category', CategoryDefinition::class, GroupDefinition::class, 'category_ids', 'id'),
        ]);
    }
associations shopware6
1个回答
0
投票

ManyToMany 关联无法与

JsonField
一起使用,您需要一个
MappingEntityDefinition
,因此需要一个额外的数据库表。 请查看文档

如果您想坚持使用 JsonField,您可以添加带有

Runtime
标志的附加字段并通过事件订阅者设置数据

© www.soinside.com 2019 - 2024. All rights reserved.