Как вы, ребята, уже знаете, мы использовали этот метод ниже в magento для сохранения определенного значения атрибута, как это.
// saving product attribute
$product = Mage::getModel('catalog/product')->load('id here');
$product->setName('your name here');
$product->getResource()->saveAttribute($product, 'name');
или
// saving customer attribute
$customer->setData($attrCode, $value)->getResource()->saveAttribute($customer, $attrCode);
Может кто-нибудь дать мне знать альтернативу вышеперечисленному в Magento2 .
magento-1.9
magento2
magento-2.1
Кингшук Деб
источник
источник
Magento\Eav\Model\Entity\AbstractEntity::saveAttribute()
который примет объект данных и код объекта.public function saveAttribute(\Magento\Framework\DataObject $object, $attributeCode)
Просто чтобы уточнить ответ Джаймина:
Это неправда. Это будет работать только для объектов EAV, которые расширяют
Magento\Eav\Model\Entity\AbstractEntity
Если вы имеете дело с сущностью, не относящейся к EAV, в которой расширяется модель ресурсов,
Magento\Framework\Model\ResourceModel\Db\AbstractDb
вам придется реализоватьsaveAttribute
метод в своей модели ресурсов.В Magento 2 они сделали это для
Magento\Sales\Model\ResourceModel\Attribute
класса:источник
В случае продукта вы можете использовать объект массового действия. Например:
источник