获取添加或修改成功之后的数据id
$insert_id = $UserModel->attributes['id'];
执行原生sql
$list = Yii::$app->db->createCommand('select * from user')->queryAll();
获取执行后的sql
$sql = UserModel::find()->createCommand()->getRawSql();
获取到$model->save
错误信息中的第一条
Model
public static function getModelError($model)
{
$errors = $model->getErrors(); //得到所有的错误信息
if (!is_array($errors)) {
return '';
}
$firstError = array_shift($errors);
if (!is_array($firstError)) {
return '';
}
return array_shift($firstError);
}
Controller
throw new RuntimeException('保存失败:'.$model::getModelError($model));
实现字段自增,自减
Yii2 中有这个 updateAllCounters 静态方法,这种方式是最快并且最省事的实现方式,代码示例如下:
Article::updateAllCounters(['view_count' => 1], ['id' => $id]);
// 实现的效果就是 view_count + 1,1根据你的需求可以是正数也可以是负数。
如果你的条件比较复杂你可以这样写:
Article::updateAllCounters(['view_count' => 1], ['and', ['xxx' => 0, 'yyy' => 2], ['>', 'zzz', $time]);
开发常用知识点总结:
https://www.yiichina.com/topic/8274
了解更多: