TP5之查询那些事】的更多相关文章

1.使用 model 查询,查出的类型为 对象 $a 是一个对象,使用 $a->name 的方式来获取 对象里的属性 2.使用 db 查询,查询出的是 数组 $b 是一个数组,使用 $b['name'] 的方式来获取数组里的属性 over!over!over!…
use think\Model; collection()->toArray(); $result = collection(model("Menu")->order("listorder asc,id asc")->select())->toArray(); 或是在模型里写 namespace app\admin\model; class Menu extends \think\Model { protected $resultSetTyp…
$data=DB::name('goods_common')->alias('a')->join('all580_goods_attractions w','a.common_id = w.common_id')->join('all580_goods_tickets t','a.common_id = t.common_id')->where($where)->where('goods_state','>',0)->where('t.t_status=0')-&…
问题背景:最近在用ThinkPHP 5开发项目的过程中,发现根据筛选条件做or查询的时候,连贯操作不可以使用where进行条件查询了. 首先列出一个user数据表的信息: uid uname grade(年级) class(班级) sex(性别) 1 1号 1 2 1 2 2号 1 1 2 3 3号 3 3 2 4 4号 4 2 1 5 5号 2 5 1 6 6号 1 6 2 7 7号 1 1 1 8 8号 2 3 1 9 9号 2 2 1 10 10号 3 1 2 数据表展现了10位同学的年级…
ThinkPHP5 高级查询之构建分组条件 一.在tp5中通过where方法如何构建分组条件, 例如:where user_id=$this->user_id and (status in (4,5,7) or refund_status = 2)该如何构建? 1.通过闭包查询: //1.通过闭包查询 $sql = Db::name('order') ->where('user_id',$this->user_id) ->where(function ($query){ $quer…
1. PHP 计算两个时间戳之间相差的时间 假设你两个时间戳为$a,$b; 你可以用$c=$a-$b;(反正就是大的减小的),这时$c就是两个时间间隔的秒数了. 想求两个时间间隔的天数就用:$c/(60*60*24) 一天的毫秒数是:86400,所以直接$c/86400 答案也是一样的 想求两个时间间隔的小时数就用:$c/(60*60) js 跳转链接的几种方式 1.跳转链接 在当前窗口打开 window.location.href="http://www.baidu.com"   等…
//二维数组的按某字段来排序(从小到大排序) function number_array_sort_asc($array,$key_name){ $arr = array(); foreach ($array as $k) { $arr[] = $k[$key_name]; } array_multisort($arr, SORT_ASC, $array); return $array; } //二维数组的按某字段来排序(从大到小排序) function number_array_sort_de…
在这个迷你系列的文章里边我将会解释viewport,以及许多重要元素的宽度是如何工作的,比如<html>元素,也包括窗口和屏幕. 这篇文章是关于桌面浏览器的,其唯一的目的就是为移动浏览器中相似的讨论做个铺垫.大部分开发者凭直觉已经明白了大部分桌面浏览器中的概念.在移动 端我们将会接触到相同的概念,但是会更加复杂,所以对大家已经知道的术语做个提前的讨论将会对你理解移动浏览器产生巨大的帮助. 概念:设备像素和CSS像素 你需要明白的第一个概念是CSS像素,以及它和设备像素的区别. 设备像素是我们直…
下一篇:移动端Web开发学习笔记[2] Part 1: 两篇重要的博客 有两篇翻译过来的博客值得一看: 两个viewport的故事(第一部分) 两个viewport的故事(第二部分) 这两篇博客探讨了一些基本概念. Part 2: PC端的一些基本概念 screen.width/height 意义:用户屏幕的整体大小. 度量单位:设备像素. 浏览器错误:IE8以CSS像素对其进行度量,IE7和IE8模式下都有这个问题. 它们是显示器的属性,而不是浏览器的. window.pageX/YOffse…
原文:http://www.quirksmode.org/mobile/viewports.html 在这个迷你系列的文章里边我将会解释viewport,以及许多重要元素的宽度是如何工作的,比如<html>元素,也包括窗口和屏幕. 这篇文章是关于桌面浏览器的,其唯一的目的就是为移动浏览器中相似的讨论做个铺垫.大部分开发者凭直觉已经明白了大部分桌面浏览器中的概念.在移动端我们将会接触到相同的概念,但是会更加复杂,所以对大家已经知道的术语做个提前的讨论将会对你理解移动浏览器产生巨大的帮助. 概念:…
Net Core中数据库事务隔离详解--以Dapper和Mysql为例 事务隔离级别 准备工作 Read uncommitted 读未提交 Read committed 读取提交内容 Repeatable read (可重读) Serializable 序列化 总结 事务隔离级别 .NET Core中的IDbConnection接口提供了BeginTransaction方法作为执行事务,BeginTransaction方法提供了两个重载,一个不需要参数BeginTransaction()默认事务…
前言 只有光头才能变强 这阵子跑去面试Java实习生啦~~~我来简单介绍一下背景吧. 广州三本大三在读,在广州找实习.大学开始接触编程,一个非常平庸的人. 在学习编程时,跟我类似的人应该会有一个疑问:究竟学到什么程度才能找到一份实习/工作呢? 针对的是中小公司.. 我是在6月1号开始投的简历找Java实习: 实习憎投了17份: 在前程无忧投了69份(没有算今天刚投的): 在boss直聘沟通51个,可以发送8份简历出去: 下面是我的简历(我不会写简历,需要修改的地方还请大家不吝在评论区留言) 可能…
2.6.2说一下Linux下面的一些常用命令 常用: pwd 获取当前路径 cd 跳转到目录 su -u 切换到管理员 ls 列举目录 文件操作命令: 文件 tail 查看 rm -rf 删除 vim 修改 文件夹 mkdir 创建 rm -r 删除 2.6.3你使用什么来连接远程的Linux服务器 连接远程需要依赖于Linux服务器安装ssh服务端,一般这个ssh服务的端口为22 连接远程需要依赖于Linux服务器安装sftp服务端,一般这个sftp服务的端口为25 使用ssh客户端连接Lin…
[我的理解]页面缓存常用在网站上.Web应用系统上也用,但由于Web系统常与数据库打交道.时效性要求蛮强的,所以是否能用缓存得具体情况具体分析(很喜欢这句话“具体情况具体分析”,很符合国人的中庸之道) [我是怎么用的] <%@ OutputCache CacheProfile="test" VaryByParam="none" %> 参数分析: <!--输出缓存 时间20s varyparams:定义的缓存方式,有下面几中值 none asp.ne…
一.数据库概述 RDBMS:关系型数据库管理系统 == 管理员(manager)+仓库(database) 常见数据库:  Oracle(神喻):甲骨文 MySQL: 归于甲骨文旗下(高版本系统已经开始收费) DB2: IBM旗下 SQL Server:微软旗下 二.MySQL安装与卸载 安装MySQL:(安装目录不能有空格或者中文)——安装过程请勾选必要的几个勾:一个允许他人访问的勾,一个开启命令行的勾 选择几个next后选择custom(自定义),一般安装路径不用自己折腾,就把前面C盘的盘符…
这是学习thinkhp5的基础篇笔记. 本文主要讲怎么配置数据库链接,以及查询数据库数据,并且最后将数据赋给视图. 数据库配置: thinkphp5的数据库配置默认在conf下的database.php下面.我的数据库配置项目如下 <?php return [ // 数据库类型 'type' => 'mysql', // 数据库连接DSN配置 'dsn' => '', // 服务器地址 'hostname' => '127.0.0.1', // 数据库名 'database' =&…
在这个迷你系列的文章里边我将会解释viewport,以及许多重要元素的宽度是如何工作的,比如<html>元素,也包括窗口和屏幕 这篇文章是关于桌面浏览器的,其唯一目的就是为移动浏览器中相似的讨论做个铺垫.大部分开发者凭直觉已经明白了大部分桌面浏览器中的概念.在移动端我们将会接触到相同的概念,但是会更加复杂,所以对大家已经知道的术语做个提前的讨论将会对你理解移动浏览器产生巨大的帮助. 概念:设备像素和CSS像素 你需要明白的第一个概念是CSS像素,以及它和设备像素的区别. 设备像素是我们直觉上觉…
先上代码connectA: BEGIN TRAN UPDATE dbo.Student SET Sorce= WHERE id= waitfor delay '00:00:05' SELECT * FROM dbo.Teacher WHERE id= COMMIT TRAN connectB: BEGIN TRAN UPDATE dbo.Teacher SET Age= WHERE Id= SELECT * FROM dbo.Student WHERE Id= COMMIT TRAN A的操作:…
1.update方法总结 /** * 设置记录的某个字段值 * 支持使用数据库字段和方法 * @access public * @param string|array $field 字段名 * @param mixed $value 字段值 * @return integer */ function setField($field, $value = ''){}; //设置某个字段的值,适用场景:适用于用户积分清零.余额清零等类似操作 Db::name('table')->where('id',…
前两天一个邻居发出了灵魂质问:"为什么我买的180平和你的169平看上去一样大?" "因为咱俩的套内面积都是138平......" 我们去看房子,比较不同楼盘的价格,看的都是单价,可这个单价,却是用(总价 ÷ 建筑面积)计算的.而我们实际买到手里的,是套内面积. 套内面积 = 使用面积+墙体厚度+阳台建筑面积 建筑面积 = 套内面积+分摊面积 (这里要吐槽一下不合理公摊制度,由霍英东发明,大陆1993年从香港引入,但香港2012年就取消了) 所以我们买房子,自然是希…
在channel表中查询status,channel_id,channel_name,account_level这些字段,且这些字段的channel_id不在adv_id为$id的表adv_channel_rule中: $model = new Model(); $id = $req_models["id"]; tp5闭包子查询传参: $res = $model->table('channel')     ->field(['status','channel_id','ch…
主表SQL(tp_member) CREATE TABLE `tp_member` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键id', `username` varchar(50) DEFAULT NULL COMMENT '用户名', `password` varchar(50) DEFAULT NULL COMMENT '密码', PRIMARY KEY (`id`)) ENGINE=MyISAM AUTO_INCREMENT=3 D…
一开始用painate()这个函数的时候,发现有的查询方式不能使用这个函数,由此了解到了模型查询和普通查询返回类型的不同 1.原生查询方法 Db::query("select * from shop"); 查询成功返回:二维数组 array(2) { [0]=> array(5) { ["username"]=> string(0) "" ["title"]=> string(10) "jav…
TP5的EXP.批量查询.聚合查询等. <!--more--> //使用EXP条件表达式,表示后面是原生的SQL表达式 $result = Db::table('think_inno')->where('id','exp',"<10 and name='asd'")->select(); dump($result); //使用and和or进行混合查询 $result = Db::table('think_inno') ->where('name','…
php根据城市查询天气情况看到有人分享java的查询全国天气情况的代码,于是我想分享一个php版本的查询天气接口.免费查询天气的接口有很多,比如百度的apistore的天气api接口,我本来想采用这个接口的,可惜今天百度apistore死活打不开了.那就用聚合数据的天气api接口吧,也是免费的,不过聚合数据的接口申请相对繁琐. 申请地址:https://www.juhe.cn/docs/api/id/73 1.注册一个聚合数据的账号2.实名认证你的账号3.申请你需要的api接口4.申请验证你的a…
前言 查询聊天列表,并返回最后一条聊天记录.这个有一个比较尴尬的点就是,一个是你主动发出的,一个是你接收的. 所以这个SQL会比较长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长! 步骤 查询出自己发的消息然后联合查询接收到的消息,这里要提下union的特性,就是两个合并的查询语句 字段数量必须一致! 字段顺序必须一致! 数据类型也要相似! 原始SQL SELECT `uid`,`nickname`,`avatar`,`content`,`time` FROM…
引言: 有时候一个管理后台,需要涉及到多个数据库.比如,商城管理.直播管理.消息管理等等,它们都有自己的数据库.这个时候,就需要去连接多个数据库,进行处理了.thinkphp可以支持多个数据库连接. 如何处理呢? 1.进行多个数据库的配置 默认会连接database.php中的数据库信息. <?php // +---------------------------------------------------------------------- // | ThinkPHP [ WE CAN…
注意事项: 1.先在database.php中配置好数据库 2.只要是数据库操作必须引用 use/think/Db;严格区分大小写. 下面是方法: public function hello5() { //所有查询必须 use/think/Db; /* 1 配置数据库 * 2 使用DB 命名空间 * */ /****************tp5中使用原生语句*******************/ //query 用于查询 其他的用execute // 插入记录 // $result = Db…
  TP5 查询 字符串条件如何实现 当查询条件是 (1,3,8) ,3,4) 这种情况改如何查询呢?   主要用到FIND_IN_SET $where[ ]=>['exp',Db::raw("FIND_IN_SET(2, industry)")]]   $industry = Db::table('admin')->where(['id'=>$uid])->value('industry');                 $industry  =explo…
挺不错,用熟了这tp5封装的很方便. 类似上边一个查询多个操作,基本在model 一个方法搞定代码也不用很多, 首先要学会用scope  网上搜tp scope 有几个例子可以借鉴 model 内添加 protected $searchField = [ 'devid', 'devphone', 'bindphone' ]; protected $whereField = [ 'endtime', 'isactived', 'issold', '_date_range_' ]; 上两个 是为了下…