数据库表结构

#表结构
CREATE TABLE `qrcode_file` (
`id` int(20) NOT NULL AUTO_INCREMENT,
`active` int(1) DEFAULT '' COMMENT '是否有效',
`owner_id` int(20) DEFAULT '' COMMENT '所有人ID',
`owner_role_id` int(20) DEFAULT '' COMMENT '所有人角色ID',
`qrcode_url` varchar(500) DEFAULT '' COMMENT '二维码解析后',
`scene_id` int(10) DEFAULT '' COMMENT '场景值ID',
`scene_str` varchar(200) DEFAULT '' COMMENT '场景值ID',
`file_id` int(20) DEFAULT '' COMMENT '保存文件id',
`create_by` varchar(25) DEFAULT '',
`update_by` varchar(25) DEFAULT '',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='二维码文件表';
控制器代码
        //=================================1.新增数据================================//
//$newQrcodeFile = new QrcodeFile();
//var_dump($newQrcodeFile->get_data());//实例化的时候不给参数 返回data
//$newQrcodeFile->active=0;
//$newQrcodeFile->owner_id=123321;
//$newQrcodeFile->owner_role_id=2;
//$newQrcodeFile->scene_id=123456;
//$newQrcodeFile->scene_str="test";
//$newQrcodeFile->create_by="lizhaoyao";
//$newQrcodeFile->update_by="lizhaoyao";
//var_dump($newQrcodeFile->get_data());//成员变量操作之后再返回data
//var_dump($newQrcodeFile->save());//调用save方法 保存数据 只返回成功与否 不返回自增id
//var_dump($newQrcodeFile->getLastInsID());//调用getLastInsID 可以返回最后自增的id
//echo $newQrcodeFile->getLastSql();
//exit; //=================================2.删除数据================================//
//$newQrcodeFile = new QrcodeFile();
//$pk_id=9;
//2.1 主键删除
//$info=QrcodeFile::get($pk_id);//找到主键id为9的数据
//这一步设置完了后会把 模型中的
//protected 'isUpdate' => boolean true
//protected 'updateWhere' =>array("id"=>9)
//if($info){$info->delete();} //2.2 destroy删除 可以批量
//var_dump($newQrcodeFile::destroy($pk_id));//直接调用destroy方法删除
// 支持批量删除多个数据
//var_dump($newQrcodeFile::destroy('11,12,13'));//删除id为 11 12 13的数据 批量删除 返回3 成功删除的条数
//var_dump($newQrcodeFile::destroy(array(21,22,23)));//删除id为 21 22 23的数据 批量删除 返回3 成功删除的条数 //2.3 主键条件删除
//$delete_result=$newQrcodeFile->where('id','>',25)->delete();//把 id>25的数据删掉
//var_dump($delete_result);//返回2 成功删除的条数
//2.4 多条件删除
//$delete_result=$newQrcodeFile->where(array("scene_id"=>"123456","owner_id"=>123))->delete();
//var_dump($delete_result);//返回2 成功删除的条数
//exit; //=================================3.修改数据================================//
//$newQrcodeFile = new QrcodeFile();
//3.1 先找到数据 再更新数据 用对象成员变量的形式 挨个操作
//$user = $newQrcodeFile::get(20);//找到id为20的数据
//$user->owner_id = '789';//赋值 owner_id
//$user->active = '1';//赋值 active
//var_dump($user->save());//去更新 更新的结果是0或者1 //3.2 直接通过数组形式赋值更新
//$save_result=$newQrcodeFile->save(array("owner_id"=>"951","active"=>3),array("id"=>24));//通过save第二个参数传条件进行更新
//var_dump($save_result);//更新的结果是0或者1 //3.3 通过 update方法调用where设定条件更新
//$update_result=$newQrcodeFile->where(array("id"=>10))->update(array('scene_str' => 'tp5'));
//var_dump($update_result);//更新的结果是0或者1
//exit; //=================================4.查询数据================================//
//$newQrcodeFile=new QrcodeFile();
//4.1 使用get静态函数主键获取
//$info = $newQrcodeFile::get(20);//通过主键查找 然后通过成员变量属性方式访问
//var_dump($info->id);
//var_dump($info->active);
//var_dump($info->owner_id);
//var_dump($info->qrcode_url);
//var_dump($info->scene_id); //4.2 使用where条件配合find方法
//$info=$newQrcodeFile->where('owner_id', '789')->find();//获取到的也是对象 也需要通过成员变量属性方式访问获取
//var_dump($info->id);
//var_dump($info->active);
//var_dump($info->owner_id);
//var_dump($info->qrcode_url);
//var_dump($info->scene_id); //4.3 通过主键获取多个数据
//$all_list=$newQrcodeFile::all("20,24,25");//获取到的是多个对象 可以遍历 然后获取成员变量得到字段值
//foreach($all_list as $info)
//{
// var_dump($info->id);
// var_dump($info->active);
// var_dump($info->owner_id);
// var_dump($info->qrcode_url);
// var_dump($info->scene_id);
//} //4.4通过where条件select得到多个
//$all_list=$newQrcodeFile->where("owner_role_id","2")->order("id","desc")->limit(2)->select();
//foreach($all_list as $info)
//{
// var_dump($info->id);
// var_dump($info->active);
// var_dump($info->owner_id);
// var_dump($info->qrcode_url);
// var_dump($info->scene_id);
//} //4.5获取某个列的值
//$column_value=$newQrcodeFile->where("id",20)->value("scene_str");//获取到的直接是一个字符串或者整型
//也可以采用 column方法
//$column_value=$newQrcodeFile->where("owner_role_id","3")->column("scene_str","id");//获取到的直接是以id为键的数组
//var_dump($column_value); //4.6 问题来了 很多时候我们用到的查询结果都是对象 而PHP开发者都喜欢用数组 该怎么办呢?
//可以使用 toArray() 方法来把对象转数组 例如
//$info = $newQrcodeFile::get(20)->toArray();
//$info=$newQrcodeFile->where('owner_id', '789')->find()->toArray();//如果表定义的时间格式的字段不是时间戳就会报错提示转换时间失败 //$all_list=$newQrcodeFile::all("20,24,25");//列表获取的数据需要遍历然后再 toArray 转数组
//foreach($all_list as $info)
//{
// $info=$info->toArray();
// var_dump($info);
//}
//用all方法查出来的是不可以用 toArray 方法转换数组的
//$all_list=$newQrcodeFile->where("owner_role_id","2")->order("id","desc")->limit(2)->select();
//foreach($all_list as $info)
//{
// $info=$info->toArray();
// var_dump($info);
//}

模型代码 QrcodeFile.php

<?php
namespace app\index\model;
use think\Model;
class QrcodeFile extends Model{
//自定义初始化
function get_data()
{
return $this->data;
}
}

THINKPHP5操作数据库代码示例的更多相关文章

  1. Global.asax中的操作数据库代码无法执行

    本人最近在做一个基于Access数据库的Web应用程序,为了实现一个定时更新数据库的需求,我在Global.asax中的Application_Start函数里写了个计时器, void Applica ...

  2. Linux环境下proc的配置c/c++操作数据库简单示例

    在虚拟机上装了oracle11g数据库,原本想利用c/c++学习操作数据库.结果感觉摊上了一个大坑.从安装好oracle数据库到配置好proc的编译选项整整花了二天.但让我意识到自己自己几点薄弱:1. ...

  3. JS使用ActiveXObject读取数据库代码示例(只支持IE)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  4. PHP使用PDO操作数据库的示例

    <pre><?phpheader("Content-type:text/html;charset=utf8");//error_reporting(E_ALL^E ...

  5. Python操作MongoDB代码示例

    import pymongo #pip install pymongo安装python操作mongodb的模块 myclient=pymongo.MongoClient(host='127.0.0.1 ...

  6. java通过配置文件(Properties类)连接Oracle数据库代码示例

    import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java. ...

  7. Sprak2.0 Streaming消费Kafka数据实时计算及运算结果保存数据库代码示例

    package com.gm.hive.SparkHive; import java.util.Arrays; import java.util.Collection; import java.uti ...

  8. C#与数据库访问技术总结(十五)之 DataAdapter对象代码示例

    DataAdapter对象代码示例 下面的代码将说明如何利用DataAdapter对象填充DataSet对象. private static string strConnect=" data ...

  9. C#与数据库访问技术总结(六)之Command对象创建SQl语句代码示例

    Command对象创建SQl语句代码示例 说明:前面介绍了 Command 对象的方法和一些属性,回顾一下 Command对象主要用来执行SQL语句.利用Command对象,可以查询数据和修改数据. ...

随机推荐

  1. JavaScript:使用JavaScript 实现注册表单的校验

    说明:在点击提交时进行表单校验,具体要求如下: 1)用户名为3~16个字符,且不能包含”@”和”#”字符: 2)密码和校验密码必须一致,且长度在8个字符到16个字符: 3)兴趣爱好至少选择一项: 4) ...

  2. C#:依据目录填充树视图

    #region 依据目录填充树视图 /// <summary> /// 依据文件夹目录,填充树视图 /// </summary> /// <param name=&quo ...

  3. 摘:static,const,inline,define的意义

    static 1) 产生背景 引出原因:函数内部定义的变量,在程序执行到它的定义处时,编译器为它在栈上分配空间,大家知道,函数在栈上分配的空间在此函数执行结束时会释放掉,这样就产生了一个问题: 如果想 ...

  4. BZOJ 1603 [Usaco2008 Oct]打谷机 dfs

    题意:id=1603">链接 方法:暴力 解析: 搜1到n路径上的边权异或和-. 这几个水题刷的我有点-.. 代码: #include <cstdio> #include ...

  5. some issues that you should be take care of when use the plupload module

    1. the config arguments 'browse_button' should not be a single element like button etc. because in i ...

  6. MockServer 入门

    忽略元数据末回到原数据开始处 MockServer介绍及文档 借鉴公司的文档 http://mock-server.com github:https://github.com/jamesdbloom/ ...

  7. 列表的append方法和extend方法

    1.举例说明列表的append方法和extend l = ["zhy",666] l.extend(["edit","sdd"]) prin ...

  8. Ubuntu14.04下安装docker 1.9

    有以下几种方式: 1. 通过系统自带包安装(可能不是最新版) $ sudo apt-get update $ sudo apt-get install -y docker.io $ sudo ln - ...

  9. 响应式布局框架 Pure-CSS 5.0 示例中文版-中

    8. 表单 Form 在 form 标签中添加 .pure-form 类,可生成单行表单(inline) 效果图: 代码: <form class="pure-form"&g ...

  10. poj 2524 Ubiquitous Religions 一简单并查集

    Ubiquitous Religions   Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 22389   Accepted ...