@@ -88,24 +88,39 @@ protected function _afterSave(\Magento\Framework\Model\AbstractModel $object)
88
88
];
89
89
90
90
$ connection = $ this ->getConnection ();
91
- $ connection ->delete ($ this ->getTable ('catalog_product_bundle_option_value ' ), $ condition );
92
91
93
- $ data = new \Magento \Framework \DataObject ();
94
- $ data ->setOptionId ($ object ->getId ())
95
- ->setStoreId ($ object ->getStoreId ())
96
- ->setParentProductId ($ object ->getParentId ())
97
- ->setTitle ($ object ->getTitle ());
98
-
99
- $ connection ->insert ($ this ->getTable ('catalog_product_bundle_option_value ' ), $ data ->getData ());
92
+ $ select = $ connection ->select ()->from ($ this ->getTable ('catalog_product_bundle_option_value ' ));
93
+ foreach ($ condition as $ k => $ v ) {
94
+ $ select ->where ($ k , $ v );
95
+ }
96
+ $ select ->limit (1 );
100
97
101
- /**
102
- * also saving default value if this store view scope
103
- */
98
+ $ rowSelect = $ connection ->fetchRow ($ select );
99
+ if (is_array ($ rowSelect )) {
100
+ $ connection ->update (
101
+ $ this ->getTable ('catalog_product_bundle_option_value ' ),
102
+ [
103
+ 'title ' => $ object ->getTitle ()
104
+ ],
105
+ $ condition
106
+ );
107
+ } else {
108
+ $ data = new \Magento \Framework \DataObject ();
109
+ $ data ->setOptionId ($ object ->getId ())
110
+ ->setStoreId ($ object ->getStoreId ())
111
+ ->setParentProductId ($ object ->getParentId ())
112
+ ->setTitle ($ object ->getTitle ());
104
113
105
- if ($ object ->getStoreId ()) {
106
- $ data ->setStoreId (0 );
107
- $ data ->setTitle ($ object ->getDefaultTitle ());
108
114
$ connection ->insert ($ this ->getTable ('catalog_product_bundle_option_value ' ), $ data ->getData ());
115
+
116
+ /**
117
+ * also saving default value if this store view scope
118
+ */
119
+ if ($ object ->getStoreId ()) {
120
+ $ data ->setStoreId (0 );
121
+ $ data ->setTitle ($ object ->getDefaultTitle ());
122
+ $ connection ->insert ($ this ->getTable ('catalog_product_bundle_option_value ' ), $ data ->getData ());
123
+ }
109
124
}
110
125
111
126
return $ this ;
0 commit comments