@@ -86,7 +86,7 @@ public function insertOnce(Entity $entity, array $conditions = null)
8686 $ fields = array_keys ($ insertData );
8787 $ existsConditions = $ conditions ;
8888 if (is_null ($ existsConditions )) {
89- $ existsConditions = $ this ->getExistsConditions ($ escapedInsertData );
89+ $ existsConditions = $ this ->getExistsConditions ($ insertData );
9090 }
9191
9292 $ query = $ this ->_table
@@ -144,22 +144,18 @@ private function buildTmpTableSelectQuery($escapedData)
144144 /**
145145 * get conditions for finding a record already exists
146146 *
147- * @param array $escapedData escaped array data
147+ * @param array $insertData insert data
148148 * @return array conditions
149149 */
150- private function getExistsConditions ($ escapedData )
150+ private function getExistsConditions ($ insertData )
151151 {
152152 $ autoFillFields = ['created ' , 'modified ' ];
153153 $ existsConditions = [];
154- foreach ($ escapedData as $ field => $ value ) {
154+ foreach ($ insertData as $ field => $ value ) {
155155 if (in_array ($ field , $ autoFillFields , true )) {
156156 continue ;
157157 }
158- if ($ value === 'NULL ' ) {
159- $ existsConditions [] = "{$ field } IS NULL " ;
160- } else {
161- $ existsConditions [] = "{$ field } = {$ value }" ;
162- }
158+ $ existsConditions [$ field . ' IS ' ] = $ value ;
163159 }
164160
165161 return $ existsConditions ;
0 commit comments