Como ustedes ya saben , solíamos tener este método a continuación en magento para guardar un 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');
o
// saving customer attribute
$customer->setData($attrCode, $value)->getResource()->saveAttribute($customer, $attrCode);
¿Alguien puede hacerme saber la alternativa de lo anterior en Magento2 ?
magento-1.9
magento2
magento-2.1
Kingshuk Deb
fuente
fuente
Magento\Eav\Model\Entity\AbstractEntity::saveAttribute()
lo que aceptará un objeto de datos y un código de entidad.public function saveAttribute(\Magento\Framework\DataObject $object, $attributeCode)
Solo para aclarar la respuesta de Jaimin:
Esto no es verdad. Solo funcionará para entidades EAV que se extiendan
Magento\Eav\Model\Entity\AbstractEntity
Si se trata de una entidad no EAV donde se extiende el modelo de recursos
Magento\Framework\Model\ResourceModel\Db\AbstractDb
, deberá implementar elsaveAttribute
método en su modelo de recursos.En Magento 2, lo han hecho para la
Magento\Sales\Model\ResourceModel\Attribute
clase:fuente
En el caso del producto, puede usar el objeto de acción masiva. Por ejemplo:
fuente