yii框架

WPing丶

2022-04-11 15:44

yii框架笔记
使用load()方法向数据库表插入数据
$VgoodsReport = new VgoodsReport();//1、声明表模型
//2、创建数据模型(注意!!!load方法对字段类型判断十分严格,需要将值转类型)
$data = [
    'VgoodsReport' => [//表名
        'user_id' => $user_id,//键值对是字段对应值
        'store_id' => $this->store_id,
        'vgoods_id' => (int)$vgoods_id,
        'addtime' => time(),
    ]
];
//3、使用load方法将数据放入模型
if (!$VgoodsReport->load($data, 'VgoodsReport')) {
    $res = [
        'code' => 1,
        'msg' => "提供的数据格式不正确!",
    ];
    return new BaseApiResponse($res);
}
//4、使用save方法插入数据库
if(!$VgoodsReport->save()) {
    $res = [
            'code' => 1,
            'msg' => "操作失败",
        ];
    return new BaseApiResponse($res);
} else {
    $res = [
        'code' => 0,
        'msg' => "举报成功",
    ];
    return new BaseApiResponse($res);
}
获取最后一次插入数据库表的自增id
\Yii::$app->db->getLastInsertID();
sql事务使用
$t = \Yii::$app->db->beginTransaction();//开始事务
if(!true) {
    $t->rollBack();//事务回滚
}
$t->commit();//事务执行
sql中的where条件使用in查询
$data = StartPort::find()->select('ID as value, NAME as text')
            ->where(['STATUS' => 'A'])
            ->andWhere(['in','id',[1,2,3,4,5]])
            ->orderBy('NAME')
            ->asArray()
            ->all();
打印sql语句
$query->createCommand()->getRawSql();
使用子查询
$count = $query->count();
$temp = $query->orderBy('continuation DESC')->limit($count);
$list = (new Query())->select('*')
->from(['temp' => $temp])
->groupBy('temp.user_id')
->createCommand()
->queryAll();
sql多条件排序写法
$query->orderBy(['r.addtime' => SORT_ASC, 'u.nickname' => SORT_ASC])


0 条评论

评论:

发送
0.101235s