Fehlermeldung advertiseInstallments does not exist in

Der Aufruf meines Shops funktioniert nicht mehr. Wenn ich mit die Fehlermeldung ausgeben lasse, erhalte ich folgende Information.

**Fatal error**: Uncaught ReflectionException: Property SwagPaymentPayPalUnified\Models\Settings\General::$advertiseInstallments does not exist in /var/www/vhosts/XXX/vendor/doctrine/persistence/lib/Doctrine/Common/Persistence/Mapping/RuntimeReflectionService.php:63 Stack trace: #0 /var/www/vhosts/XXX/vendor/doctrine/persistence/lib/Doctrine/Common/Persistence/Mapping/RuntimeReflectionService.php(63): ReflectionProperty->__construct('SwagPaymentPayP...', 'advertiseInstal...') #1 /var/www/vhosts/XXX/vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php(964): Doctrine\Common\Persistence\Mapping\RuntimeReflectionService->getAccessibleProperty('SwagPaymentPayP...', 'advertiseInstal...') #2 /var/www/vhosts/XXX/vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/ClassMetadataFactory.php(750): Doctrine\ORM\Mapp in **/var/www/vhosts/XXX/vendor/doctrine/persistence/lib/Doctrine/Common/Persistence/Mapping/RuntimeReflectionService.php** on line **63**

Ich weiß jetzt nicht, was ich damit anfangen soll.

Hallo Steve

die Fehlermeldung steht in Zusammenhang mit eingesetzten Paypal Plugin (SwagPaymentPayPalUnified) von Shopware.

Bei einigen Kunden hat es geholfen das Plugin einmal zu deinstallieren und erneut zu installieren.
Andere wiederum haben die Models der Freitextfelder neu generiert. Dies kann über den Konsolenbefehl php bin/console sw:generate:attributes durchgeführt werden.

Bei wem das alles nicht hilft, kann in der Daten folgenden SQL-Query ausführen:

ALTER TABLE `swag_payment_paypal_unified_settings_general` ADD `advertise_installments` TINYINT( 11 ) NOT NULL

Danach muss in der Datei des Plugins „custom/plugins/SwagPaymentPayPalUnified/Models/Settings/General.php“ ein bisschen Code ergänzt werden:

In Zeile 127 unterhalb von private $submitCart;

/**
 * @var bool
 * @ORM\Column(name="advertise_installments", type="boolean", nullable=false)
 */
private $advertiseInstallments;

Und am Ende der Datei:

/**
 * @return bool
 */
public function getAdvertiseInstallments()
{
    return $this->advertiseInstallments;
}

/**
* @param bool $advertiseInstallments
*/
public function setAdvertiseInstallments($advertiseInstallments)
{
    $this->advertiseInstallments = $advertiseInstallments;
}

Das war für mich gar nicht so einfach umzusetzen. Aber es hat geklappt. Danke @dst