Wie ihr bereits wisst, hatten wir diese Methode in Magento, um einen bestimmten Attributwert wie diesen zu speichern .
// saving product attribute
$product = Mage::getModel('catalog/product')->load('id here');
$product->setName('your name here');
$product->getResource()->saveAttribute($product, 'name');
oder
// saving customer attribute
$customer->setData($attrCode, $value)->getResource()->saveAttribute($customer, $attrCode);
Kann mir jemand die Alternative der oben genannten in Magento2 mitteilen .
magento-1.9
magento2
magento-2.1
Kingshuk Deb
quelle
quelle
Magento\Eav\Model\Entity\AbstractEntity::saveAttribute()
wird ein Aufruf aufgerufen, der ein Datenobjekt und einen Entitätscode akzeptiert.public function saveAttribute(\Magento\Framework\DataObject $object, $attributeCode)
Nur um Jaimins Antwort zu verdeutlichen:
Das ist nicht wahr. Es funktioniert nur für EAV-Entitäten, die sich erweitern
Magento\Eav\Model\Entity\AbstractEntity
Wenn Sie mit einer Nicht-EAV-Entität arbeiten, bei der das Ressourcenmodell erweitert
Magento\Framework\Model\ResourceModel\Db\AbstractDb
wird, müssen Sie diesaveAttribute
Methode in Ihrem Ressourcenmodell implementieren .In Magento 2 haben sie es für die
Magento\Sales\Model\ResourceModel\Attribute
Klasse getan :quelle
Im Falle eines Produkts können Sie das Massenaktionsobjekt verwenden. Zum Beispiel:
quelle