@@ -88,24 +88,39 @@ protected function _afterSave(\Magento\Framework\Model\AbstractModel $object)
8888 ];
8989
9090 $ connection = $ this ->getConnection ();
91- $ connection ->delete ($ this ->getTable ('catalog_product_bundle_option_value ' ), $ condition );
9291
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 );
10097
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 ());
104113
105- if ($ object ->getStoreId ()) {
106- $ data ->setStoreId (0 );
107- $ data ->setTitle ($ object ->getDefaultTitle ());
108114 $ 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+ }
109124 }
110125
111126 return $ this ;
0 commit comments