$query = InvCode::find()->where($where);
$sql = $query->createCommand()->getRawSql();
我们在用YII2开发项目的时候,会查看当前执行的SQL语句来排查错误,便于工作方便,将看到的记录下来,感谢前辈!向前辈致敬!
获取当前sql语句我们可以使用getRawSql()来实现,使用示例如下:
举例:UserModel
$query = UserModel::find()->where(['status'=>1]);
echo $query->createCommand()->getRawSql();
知识补充
yii2使用createCommand()增删改查
查询单条数据
$sql = "SELECT `name` FROM `table` WHERE id='7'";
$users=Yii::$app->db->createCommand($sql)->queryOne();
查询多条数据
$sql = "SELECT `name` FROM `table` WHERE name='$name'";
$users=Yii::$app->db->createCommand($sql)->queryAll();
修改数据
Yii::$app->db->createCommand()->update('table', ['name' => $name], "id = {$id}")->execute();
//update 第一个参数:表名 第二个参数 :要修改为的数据 第三个数据:修改条件
添加数据
Yii::$app->db->createCommand()->insert("table",array("name"=>'zhangsan',"age"=>'18'));
//insert 第一个参数:表名 第二个参数 :要添加的数据
删除数据
Yii::$app->db->createCommand()->delete('table', 'age = 30')->execute();
//delete 第一个参数:表名 第二个参数 :删除的条件
日志:
Yii::info($log, __METHOD__);
看info源码找参数:
public static function info($message, $category = 'application') { static::getLogger()->log($message, Logger::LEVEL_INFO, $category); }