for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
/**
* @link http://www.yiiframework.com/
* @copyright Copyright (c) 2008 Yii Software LLC
* @license http://www.yiiframework.com/license/
*/
namespace yii\db\mysql;
use yii\db\ExpressionInterface;
use yii\db\JsonExpression;
* Class ColumnSchema
*
* @author Dmytro Naumenko <[email protected]>
* @since 2.0.14.1
class ColumnSchema extends \yii\db\ColumnSchema
{
* {@inheritdoc}
public function dbTypecast($value)
if ($value instanceof ExpressionInterface) {
return $value;
}
if ($this->dbType === Schema::TYPE_JSON) {
return new JsonExpression($value, $this->type);
return $this->typecast($value);
public function phpTypecast($value)
if ($value === null) {
return null;
if ($this->type === Schema::TYPE_JSON) {
return json_decode($value, true);
return parent::phpTypecast($value);