数据库表结构

#表结构
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. Linux命令-权限管理命令:chgrp

    groupadd shuaige 创建一个用户组名字叫shuaige ls -l /home/wangyunpeng/abcd 查看abcd文件的权限 chgrp shuaige /home/wang ...

  2. MPEG-4 压缩编码标准

    文章转自:http://www.cnblogs.com/CoderTian/p/8477021.html 1.MPEG-4标准概述 与MPEG1和MPEG2标准相比,MPEG-4 更加注重多媒体系统的 ...

  3. MySQL学习总结(二)数据库以及表的基本操作

    上一节中详细的介绍了关于MySQL数据库的安装过程,接下来我们就该对数据库以及表进行一些基本的操作了. 1.数据类型 MySQL数据库中提供了整数类型.浮点数类型.定点数类型.日期和时间类型.字符串类 ...

  4. JMeter学习笔记(四)

    1. 断言 断言组件是通过获取服务器响应数据,然后根据断言规则去匹配这些响应数据:匹配到是正常现象,此时我们看不到任何提醒,如果匹配不到,即出现了异常情况,此时JMeter就会断定这个事务失败,那么我 ...

  5. 366. Fibonacci【Naive】

    Find the Nth number in Fibonacci sequence. A Fibonacci sequence is defined as follow: The first two ...

  6. UIWebView和UICollectionViewController的使用

    UIWebView和UICollectionViewController的使用 UIWebView UIWebView是iOS内置的浏览器的控件, 可以浏览网页, 打开文档等 .系统自带的Safari ...

  7. ubuntu时钟不显示的解决方法

    原文链接:http://muzi.info/articles/529.html 有时候我们会看到我们电脑的状态栏那里并没有显示时间,一个原因是日期时间指示器没有工作,另一个可能的原因是用户禁用了时间显 ...

  8. SQLite的连接字符串

    SQLite的连接字符串 Basic(基本的)     Data Source=filename;Version=3;Using UTF16(使用UTF16编码)    Data Source=fil ...

  9. 常用vim编辑器命令行

    按ESC键 跳到命令模式,然后: :w 保存文件但不退出vi:w file 将修改另外保存到file中,不退出vi:w! 强制保存,不推出vi:wq 保存文件并退出vi:wq! 强制保存文件,并退出v ...

  10. 5分钟用Spring4 搭建一个REST WebService(转)

    章节目录 前置技能 新建项目,配置依赖文件 编写Model和Controller 启动服务&访问 但是 其他 前置技能 ① 使用maven来管理java项目 这个技能必须点一级,以便快速配置项 ...