如题,查询操作获取SQL语句的我已经知道了.
@xjdata ,
namespace app\components\db;
use yii\db\Command;
class Connection extends \yii\db\Connection
{
public static $instance = null;
public function createCommand($sql = null,$params = [])
{
if (!self::$instance)
{
$command = new $this->commandClass([
'db' => $this,
'sql' => $sql,
]);
}
else
{
$command = self::$instance;
$command->setSql($sql);
}
return self::$instance = $command->bindValues($params);
}
public function getLastSql()
{
$instance = self::$instance;
return $instance->getRawSql();
}
}
然后更改db.php配置项`
php 'class' => 'app\components\db\Connection' `
然后在具体的SQL操作后,使用\Yii::$app->getDb()->getLastSql()
,貌似就可以得到最后操作的SQL了。
有没有其他的影响,就不清楚了哦 :smile: