yii框架
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 条评论