Skip to content

Commit 5a5da53

Browse files
authored
Merge pull request #26 from itosho/22-better-is-nul-syntax
#22 Better IS NULL syntax
2 parents 8e1c282 + 65a9878 commit 5a5da53

File tree

1 file changed

+5
-9
lines changed

1 file changed

+5
-9
lines changed

src/Model/Behavior/InsertBehavior.php

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)