Skip to content
This repository was archived by the owner on May 12, 2022. It is now read-only.

Commit 66adaf6

Browse files
author
Nik Barham
committed
Fix minor issue with SqlStrings in where/on clauses
Properly resolve Time objects to Mysql format Y-m-d H:i:s
1 parent 96b3aea commit 66adaf6

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

src/Automatorm/Database/QueryBuilder.php

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -458,9 +458,11 @@ public function resolveWhere()
458458
list($column, $comp, $value) = $where;
459459
if (is_null($value)) {
460460
$clauses[] = $this->escapeColumn($column) . " $comp";
461+
} elseif ($value instanceof SqlString) {
462+
$clauses[] = $this->escapeColumn($column) . " $comp " . $value;
461463
} elseif (is_array($value)) {
462464
$count = count($value);
463-
$clauses[] = $this->escapeColumn($column) . ' ' . $comp . ' ' . '(' . implode(',', array_fill(0, $count, '?')) . ')';
465+
$clauses[] = $this->escapeColumn($column) . " $comp (" . implode(',', array_fill(0, $count, '?')) . ")";
464466
foreach ($value as $val) {
465467
$this->data[] = $this->resolveValue($val);
466468
}
@@ -475,7 +477,10 @@ public function resolveWhere()
475477

476478
public function resolveValue($value)
477479
{
478-
# [FIXME] Date values
480+
if ($value instanceof \DateTime) {
481+
# [FIXME] Non Mysql Date values
482+
return $value->format('Y-m-d H:i:s');
483+
}
479484
return $value;
480485
}
481486

0 commit comments

Comments
 (0)