Context:
- How does
\Magento\Framework\Model\ResourceModel\Db\VersionControl\AbstractDb::processAfterSaves()
work for a credit memo? - How does
\Magento\Framework\Model\ResourceModel\Db\VersionControl\AbstractDb::processAfterSaves()
work for a shipment? - How does
\Magento\Framework\Model\ResourceModel\Db\VersionControl\AbstractDb::processAfterSaves()
work for a shipment item?
958164/app/code/Magento/Sales/Model/ResourceModel/EntityAbstract.php#L135-L160
/**
* Perform actions after object save
*
* @param \Magento\Framework\Model\AbstractModel $object
* @return $this
*/
protected function _afterSave(\Magento\Framework\Model\AbstractModel $object)
{
$connection = $this->getConnection();
$columns = $connection->describeTable($this->getMainTable());
if (isset($columns['created_at'], $columns['updated_at'])) {
$select = $connection->select()
->from($this->getMainTable(), ['created_at', 'updated_at'])
->where($this->getIdFieldName() . ' = :entity_id');
$row = $connection->fetchRow($select, [':entity_id' => $object->getId()]);
if (is_array($row) && isset($row['created_at'], $row['updated_at'])) {
$object->setCreatedAt($row['created_at']);
$object->setUpdatedAt($row['updated_at']);
}
}
parent::_afterSave($object);
return $this;
}