Unrecognized field: articleId nach /backend/Attributes/generateModels s_articles_attributes

Nach dem Update auf 5.6.4 werden die Attribute (s_articles_attributes) nicht mehr richtig generiert.

In \Shopware\Models\Attribute\Article fehlt der Parameter $articleId

/**
 * @var integer $articleId
 *
 * @ORM\Column(name="articleID", type="integer", nullable=true)
 */
 protected $articleId;

Die Getter/Setter sind vorhanden.
Die Struktur der Tabelle s_articles_attributes hat die Spaltet „articleID“.

Aufruf

$this->getEntityManager()->getRepository(ArticleAttribute::class)
            ->findOneBy(['articleId' => $articleID])

Daraus resultiert der Fehler:

Fatal error : Uncaught Doctrine\ORM\ORMException: Unrecognized field: articleId in /var/www/wildkamera.net/htdocs/dev/vendor/doctrine/orm/lib/Doctrine/ORM/ORMException.php:101 Stack trace: #0 /var/www/wildkamera.net/htdocs/dev/engine/Library/Doctrine/ORM/Persisters/Entity/BasicEntityPersister.php(1916): Doctrine\ORM\ORMException::unrecognizedField(‚articleId‘) #1 /var/www/wildkamera.net/htdocs/dev/engine/Library/Doctrine/ORM/Persisters/Entity/BasicEntityPersister.php(757): Doctrine\ORM\Persisters\Entity\BasicEntityPersister->getSelectConditionStatementColumnSQL(‚articleId‘, NULL) #2 /var/www/wildkamera.net/htdocs/dev/engine/Library/Doctrine/ORM/Persisters/Entity/BasicEntityPersister.php(1655): Doctrine\ORM\Persisters\Entity\BasicEntityPersister->getSelectConditionStatementSQL(‚articleId‘, 249, NULL) #3 /var/www/wildkamera.net/htdocs/dev/engine/Library/Doctrine/ORM/Persisters/Entity/BasicEntityPersister.php(613): Doctrine\ORM\Persisters\Entity\BasicEntityPersister->getSelectConditionSQL(Array, NULL) #4 /var/www/wildkamera.n in  /var/www/wildkamera.net/htdocs/dev/vendor/doctrine/orm/lib/Doctrine/ORM/ORMException.php  on line  101

//

Wäre bitte jemand so nett und könnte das verifizieren.
Bitte generiert in eurer 5.6.4 Version mal die ArtikelArttibute neu und guckt ob der Paramter $articleId vorhanden ist.

/var/cache/production_201904021344/doctrine/attributes/Article.php

 

Hab’s auf einer weiteren Installation getestet, das selbe Problem.
Es wird nun auf einer Neuinstallation von 5.6.4 nochmal getestet um sicher zu gehen. 

Gleiche Problem hier auch!

in der Datenbank fehlt der Wert articleID in der Tabelle s_articles_attributes, was zur Folge hat, dass für neue Produkte keine Relation zu deren Attributen aufgebaut werden kann.

eine neuinstallation beinhaltet s_articles_attributes.articleId in der datenbank nicht mehr. Blush

Das Feld wird schon ewig nicht mehr genutzt und auch nicht befüllt. Dazu gibt es hier zahlreiche Threads, dass ist mindestens seit 5.4 so. 

1 „Gefällt mir“

Seit 5.6 wird die Spalte nicht mehr via Doctrine gemanged. Wenn sie noch in der Tabelle existiert liegt es daran, dass es ein Update zu 5.6 war. Spätestens mit 5.7 wird sie auch in der Tabelle verschwinden.

Die Spalte wird seit 5.2 nicht mehr befüllt.

1 „Gefällt mir“

Die Spalte wird seit 5.2 nicht mehr befüllt.

Das kann ich mir nicht vorstellen, mache gerade ein Update von 5.5.8 auf 5.6.4.
Ein Plugin nutzt ‚s_articles_attributes.articleId‘.

Aber sei’s drum. Einfach die Abfrage auf \Shopware\Models\Article\Detail::getAttribute umstellen, fertig.

Danke euch beiden und viele Grüße aus Köln