symfony 多对一关联字段在shopware6中无效

9bfwbjaz  于 2022-11-16  发布在  PWA
关注(0)|答案(1)|浏览(196)

我在exclude_categories表中有category_id列。在exclude_categories实体中,我想添加类别实体。因此,在排除类别定义ExcludeCategoryDefinition中,我有

protected function defineFields(): FieldCollection
{
    return new FieldCollection([
        (new IdField('id','id'))->addFlags(new Required(), new PrimaryKey()),
        (new FkField('category_id', 'categoryId', CategoryDefinition::class, 'id'))->addFlags(new PrimaryKey(), new ApiAware(), new Required()),
        new ManyToOneAssociationField('category', 'category_id', CategoryDefinition::class, 'id', false ),
    ]);
}

但类别显示为空。

#categoryId: "a515ae260223466f8e37471d279e6406"
  #category: null
  #_uniqueIdentifier: "04bb7ecb26394f5face052f8dc6bf143"
  #versionId: null
  #translated: []
  #createdAt: DateTimeImmutable @1661737483 {#5871 ▶}
  #updatedAt: null
  -_entityName: "customer_specific_prices_exclude_categories"
  -_fieldVisibility: Shopware\Core\Framework\DataAbstractionLayer\FieldVisibility {#5874 ▶}
  #extensions: array:1 [▶]
  #id: "04bb7ecb26394f5face052f8dc6bf143"
anauzrmj

anauzrmj1#

您必须将关联添加到用于提取数据的条件中:

$criteria = new Criteria();
$criteria->addAssociation('category');

或者,如果不想每次都手动添加关联,也可以将关联设置为自动加载:

new ManyToOneAssociationField('category', 'category_id', CategoryDefinition::class, 'id', true)

相关问题