mirror of
https://github.com/yiisoft/yii2.git
synced 2025-08-14 22:30:27 +08:00
Add support for yii\db\Expression to QueryBuiler simple conditions
fixes #5601
This commit is contained in:
@ -4,7 +4,7 @@ Yii Framework 2 sphinx extension Change Log
|
||||
2.0.1 under development
|
||||
-----------------------
|
||||
|
||||
- no changes in this release.
|
||||
- Bug #5601: Simple conditions in Query::where() and ActiveQuery::where() did not allow `yii\db\Expression` to be used as the value (cebe, stevekr)
|
||||
|
||||
|
||||
2.0.0 October 12, 2014
|
||||
@ -41,6 +41,7 @@ Yii Framework 2 sphinx extension Change Log
|
||||
All relational queries are now directly served by `ActiveQuery` allowing to use
|
||||
custom scopes in relations (cebe)
|
||||
|
||||
|
||||
2.0.0-alpha, December 1, 2013
|
||||
-----------------------------
|
||||
|
||||
|
@ -1085,6 +1085,11 @@ class QueryBuilder extends Object
|
||||
|
||||
if ($value === null) {
|
||||
return "$column $operator NULL";
|
||||
} elseif ($value instanceof Expression) {
|
||||
foreach ($value->params as $n => $v) {
|
||||
$params[$n] = $v;
|
||||
}
|
||||
return "$column $operator {$value->expression}";
|
||||
} else {
|
||||
$phName = self::PARAM_PREFIX . count($params);
|
||||
$params[$phName] = $value;
|
||||
|
@ -4,10 +4,11 @@ Yii Framework 2 Change Log
|
||||
2.0.1 under development
|
||||
-----------------------
|
||||
|
||||
- Bug #5584: `yii\rbac\DbRbacManager` should not delete items when deleting a rule on a database not supporting cascade update (mdmunir)
|
||||
- Bug #5601: Simple conditions in Query::where() and ActiveQuery::where() did not allow `yii\db\Expression` to be used as the value (cebe, stevekr)
|
||||
- Bug: Gii console command help information does not contain global options (qiangxue)
|
||||
- Enh #5600: Allow configuring debug panels in `yii\debug\Module::panels` as panel class name strings (qiangxue)
|
||||
- Enh #5613: Added `--overwrite` option to Gii console command to support overwriting all files (motin, qiangxue)
|
||||
- Bug #5584: `yii\rbac\DbRbacManager` should not delete items when deleting a rule on a database not supporting cascade update (mdmunir)
|
||||
- Bug: Gii console command help information does not contain global options (qiangxue)
|
||||
|
||||
|
||||
2.0.0 October 12, 2014
|
||||
|
@ -1238,6 +1238,11 @@ class QueryBuilder extends \yii\base\Object
|
||||
|
||||
if ($value === null) {
|
||||
return "$column $operator NULL";
|
||||
} elseif ($value instanceof Expression) {
|
||||
foreach ($value->params as $n => $v) {
|
||||
$params[$n] = $v;
|
||||
}
|
||||
return "$column $operator {$value->expression}";
|
||||
} else {
|
||||
$phName = self::PARAM_PREFIX . count($params);
|
||||
$params[$phName] = $value;
|
||||
|
@ -2,6 +2,7 @@
|
||||
|
||||
namespace yiiunit\framework\db;
|
||||
|
||||
use yii\db\Expression;
|
||||
use yii\db\Query;
|
||||
use yii\db\QueryBuilder;
|
||||
use yii\db\Schema;
|
||||
@ -193,6 +194,8 @@ class QueryBuilderTest extends DatabaseTestCase
|
||||
[ ['<=', 'a', 'b'], '"a" <= :qp0', [':qp0' => 'b'] ],
|
||||
[ ['<>', 'a', 3], '"a" <> :qp0', [':qp0' => 3] ],
|
||||
[ ['!=', 'a', 'b'], '"a" != :qp0', [':qp0' => 'b'] ],
|
||||
[ ['>=', 'date', new Expression('DATE_SUB(NOW(), INTERVAL 1 MONTH)')], '"date" >= DATE_SUB(NOW(), INTERVAL 1 MONTH)', [] ],
|
||||
[ ['>=', 'date', new Expression('DATE_SUB(NOW(), INTERVAL :month MONTH)', [':month' => 2])], '"date" >= DATE_SUB(NOW(), INTERVAL :month MONTH)', [':month' => 2] ],
|
||||
];
|
||||
|
||||
// adjust dbms specific escaping
|
||||
|
Reference in New Issue
Block a user