46 $validateRules = $object->
getData(
'validate_rules');
47 if (is_array($validateRules)) {
50 return parent::_beforeSave($object);
64 $websiteId = (int)$object->getWebsite()->getId();
69 $describe =
$connection->describeTable($scopeTable);
70 unset($describe[
'attribute_id']);
71 foreach (array_keys($describe) as $columnName) {
72 $columns[
'scope_' . $columnName] = $columnName;
75 $this->
getMainTable() .
'.attribute_id = scope_table.attribute_id AND scope_table.website_id =?',
78 $select->joinLeft([
'scope_table' => $scopeTable], $conditionSql,
$columns);
93 $forms = $object->
getData(
'used_in_forms');
95 if (is_array($forms)) {
96 $where = [
'attribute_id=?' => $object->
getId()];
100 foreach ($forms as $formCode) {
101 $data[] = [
'form_code' => $formCode,
'attribute_id' => (int)$object->
getId()];
111 $data = [
'sort_order' => $object->getSortOrder()];
112 $where = [
'attribute_id=?' => (int)$object->
getId()];
122 if (!$object->getScopeWebsiteId() || $object->getScopeWebsiteId() !=
$websiteId) {
126 $data[
'attribute_id'] = (int)$object->
getId();
128 unset($describe[
'attribute_id']);
129 unset($describe[
'website_id']);
132 foreach (array_keys($describe) as $columnName) {
133 $data[$columnName] = $object->
getData(
'scope_' . $columnName);
134 $updateColumns[] = $columnName;
140 return parent::_afterSave($object);
152 $bind = [
'attribute_id' => (int)$object->getId(),
'website_id' => (int)$object->getWebsite()->getId()];
156 'attribute_id = :attribute_id' 158 'website_id = :website_id' 180 $bind = [
'attribute_id' => (int)$object->
getId()];
185 'attribute_id = :attribute_id'
setData($key, $value=null)
getData($key='', $index=null)
_afterSave(AbstractModel $object)
getUsedInForms(AbstractModel $object)
_getLoadSelect($field, $value, $object)
_beforeSave(AbstractModel $object)
getScopeValues(\Magento\Eav\Model\Attribute $object)
dataHasChangedFor($field)