} public function getHydratorClass(): string
{ return ProductSearchConfigHydrator::
class;
} protected function defineFields(): FieldCollection
{ return new FieldCollection([ (new IdField('id', 'id'
))->
addFlags(new PrimaryKey(),
new Required()),
(new FkField('language_id', 'languageId', LanguageDefinition::
class))->
addFlags(new Required()),
(new BoolField('and_logic', 'andLogic'
))->
addFlags(new Required()),
(new IntField('min_search_length', 'minSearchLength'
))->
addFlags(new Required()),
new ListField('excluded_terms', 'excludedTerms', StringField::
class),
new OneToOneAssociationField('language', 'language_id', 'id', LanguageDefinition::
class, false
),
(new OneToManyAssociationField('configFields', ProductSearchConfigFieldDefinition::
class, 'product_search_config_id', 'id'
))->
addFlags(new CascadeDelete()),
]);
}}