Как получить последний вставленный идентификатор опции атрибута?
-
16-10-2019 - |
Вопрос
Я использую следующий код, чтобы добавить опцию в свой «раскрывающий атрибут»:
public function createAttributeOption($option){
$arg_attribute = 'attribute_code';
$arg_value = $option;
$attr_model = Mage::getModel('catalog/resource_eav_attribute');
$attr = $attr_model->loadByCode('catalog_product', $arg_attribute);
$attr_id = $attr->getAttributeId();
$option['attribute_id'] = $attr_id;
$option['value']['any_option_name'][0] = $arg_value;
$setup = new Mage_Eav_Model_Entity_Setup('core_setup');
$setup->addAttributeOption($option);
return '???';
}
И это прекрасно вставляет вариант в мой атрибут. Вопрос в том, что мне нужно вернуть идентификатор вставленной опции из этой функции. Как я могу получить идентификатор этого последнего вставленного варианта?
Решение
Попробуй это:
$lastId = $setup->getConnection()->lastInsertId();
$attr = Mage::getModel('eav/entity_attribute_option')
->getCollection()
->setStoreFilter()
->addFieldToFilter('tsv.value_id',array('eq'=>$lastId))
->getFirstItem();
$optionId = $attr->getData('option_id');
return $optionId;
Другие советы
echo $order->getId();
echo $lastInsertId = $db_write ->fetchOne('SELECT last_insert_id()');
echo $db_write ->lastInsertId(); // you may also try this.
Вы можете получить всю информацию о последнем идентификаторе вставкиКликните сюда
Не связан с magento.stackexchange