Hi zusammen,
ich möchte gerne in der Customer Tabelle ein neues Feld anlegen, die die Anzahl der Anmeldungen loggt.
Die Custom Fields sorgen mir für zuviel Overhead und eine Entity Extension mit einer eigenen Tabelle sorgt auch wieder für unnütze Joins.
Laut Shopware Doku ist es möglich einer Entity Extension auch Scalar Values mitzugeben. Ich hab also versucht, ein IntField an den Customer zu hängen
class CustomerExtension extends EntityExtension
{
public function extendFields(FieldCollection $collection): void
{
$collection->add(
(new IntField('amount_login', 'amountLogin',null,null))
);
}
public function getDefinitionClass(): string
{
return CustomerDefinition::class;
}
}
Nun kriege ich aber eine Exception, die mir sagt: „Only AssociationFields, FkFields/ReferenceVersionFields for a ManyToOneAssociationField or fields flagged as Runtime can be added as Extension.“
In der Shopware-Doku finde ich nichts dazu, was da genau möglich ist und was nicht. In der Doku steht nur, dass es prinzipiell möglich ist.
Sind Scalar Values als Entity Extension nur als Runtime-Flag möglich? Und wenn ich das richtig sehe, müsste ich mich bei einem Runtime-Flag dann über einen Subscriber darum kümmern, dass das Feld an das Customer Objekt gehängt wird? Und um die Migration müsste ich dann auch selbst kümmern mit einem „ALTER TABLE ADD…“?
Vielen Dank für die Hilfe!!
LG Ben