zoukankan      html  css  js  c++  java
  • Yii2常用操作

    获取添加或修改成功之后的数据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

    了解更多:

    https://www.yiichina.com/doc/guide/2.0

    https://www.yiiframework.com/doc/guide/2.0/zh-cn

  • 相关阅读:
    9.17
    9.14
    9.13
    9.13
    9.11
    9.28
    10 .19 知识点
    redux
    react路由
    react的三大属性
  • 原文地址:https://www.cnblogs.com/ovim/p/11628348.html
Copyright © 2011-2022 走看看