Como vocês já sabem, tínhamos o método abaixo no magento para salvar um valor de atributo específico como este.
// saving product attribute
$product = Mage::getModel('catalog/product')->load('id here');
$product->setName('your name here');
$product->getResource()->saveAttribute($product, 'name');
ou
// saving customer attribute
$customer->setData($attrCode, $value)->getResource()->saveAttribute($customer, $attrCode);
Alguém pode me informar a alternativa acima no Magento2 .
magento-1.9
magento2
magento-2.1
Kingshuk Deb
fonte
fonte
Magento\Eav\Model\Entity\AbstractEntity::saveAttribute()
que aceitará um objeto de dados e um código de entidade.public function saveAttribute(\Magento\Framework\DataObject $object, $attributeCode)
Apenas para esclarecer a resposta de Jaimin:
Isso não é verdade. Funcionará apenas para entidades EAV que estendem
Magento\Eav\Model\Entity\AbstractEntity
Se você estiver lidando com uma entidade não EAV na qual o modelo de recursos se estende
Magento\Framework\Model\ResourceModel\Db\AbstractDb
, precisará implementar osaveAttribute
método em seu modelo de recursos.No Magento 2, eles fizeram isso para a
Magento\Sales\Model\ResourceModel\Attribute
classe:fonte
No caso do produto, você pode usar o objeto de ação em massa. Por exemplo:
fonte