Skip to content

Commit f77a93f

Browse files
committed
Merge remote-tracking branch 'refs/remotes/origin/develop'
2 parents 4e51f74 + 4b29403 commit f77a93f

File tree

1 file changed

+18
-10
lines changed

1 file changed

+18
-10
lines changed

src/Medoo.php

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
/*!
33
* Medoo database framework
44
* https://medoo.in
5-
* Version 1.5.5
5+
* Version 1.5.6
66
*
77
* Copyright 2018, Angel Lai
88
* Released under the MIT license
@@ -541,7 +541,7 @@ protected function dataImplode($data, &$map, $conjunctor)
541541

542542
if (
543543
is_int($key) &&
544-
preg_match('/([a-zA-Z0-9_\.]+)\[(?<operator>\>\=?|\<\=?|\!|\=)\]([a-zA-Z0-9_\.]+)/i', $value, $match)
544+
preg_match('/([a-zA-Z0-9_\.]+)\[(?<operator>\>\=?|\<\=?|\!?\=)\]([a-zA-Z0-9_\.]+)/i', $value, $match)
545545
)
546546
{
547547
$stack[] = $this->columnQuote($match[ 1 ]) . ' ' . $match[ 'operator' ] . ' ' . $this->columnQuote($match[ 3 ]);
@@ -1003,7 +1003,7 @@ protected function selectContext($table, &$map, $join, &$columns = null, $where
10031003
}
10041004
else
10051005
{
1006-
if (empty($columns))
1006+
if (empty($columns) || $this->isRaw($columns))
10071007
{
10081008
$columns = '*';
10091009
$where = $join;
@@ -1082,43 +1082,51 @@ protected function dataMap($data, $columns, $column_map, &$stack)
10821082

10831083
$column_key = $map[ 0 ];
10841084

1085+
$result = $data[ $column_key ];
1086+
10851087
if (isset($map[ 1 ]))
10861088
{
10871089
if ($isRaw && in_array($map[ 1 ], ['Object', 'JSON']))
10881090
{
10891091
continue;
10901092
}
10911093

1094+
if (is_null($result))
1095+
{
1096+
$stack[ $column_key ] = null;
1097+
continue;
1098+
}
1099+
10921100
switch ($map[ 1 ])
10931101
{
10941102
case 'Number':
1095-
$stack[ $column_key ] = (double) $data[ $column_key ];
1103+
$stack[ $column_key ] = (double) $result;
10961104
break;
10971105

10981106
case 'Int':
1099-
$stack[ $column_key ] = (int) $data[ $column_key ];
1107+
$stack[ $column_key ] = (int) $result;
11001108
break;
11011109

11021110
case 'Bool':
1103-
$stack[ $column_key ] = (bool) $data[ $column_key ];
1111+
$stack[ $column_key ] = (bool) $result;
11041112
break;
11051113

11061114
case 'Object':
1107-
$stack[ $column_key ] = unserialize($data[ $column_key ]);
1115+
$stack[ $column_key ] = unserialize($result);
11081116
break;
11091117

11101118
case 'JSON':
1111-
$stack[ $column_key ] = json_decode($data[ $column_key ], true);
1119+
$stack[ $column_key ] = json_decode($result, true);
11121120
break;
11131121

11141122
case 'String':
1115-
$stack[ $column_key ] = $data[ $column_key ];
1123+
$stack[ $column_key ] = $result;
11161124
break;
11171125
}
11181126
}
11191127
else
11201128
{
1121-
$stack[ $column_key ] = $data[ $column_key ];
1129+
$stack[ $column_key ] = $result;
11221130
}
11231131
}
11241132
else

0 commit comments

Comments
 (0)