首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
thinkphp5 or数组
2024-08-23
thinkphp 5 where 组合条件map数组or
if($inviterId>0) { $arr = Db::table("tablename")-> where("pid=$inviterId")->field('id')->select(); $ids=''; for ($i=0; $i < count($arr); $i++) { $ids =$ids.','. $arr[$i]['id']; } if(\strlen($ids)>1) $ids=substr($ids,1
thinkphp5 返回数组提示variable type error: array
浏览器访问控制器函数,而函数返回的是数组: function timeArr(){ $time = array(); for($i=1;$i<=7;$i++){ $d= date('d',Time::daysAgo($i) ); $qian = strtotime(date('Y-m-d',Time::daysAgo($i) ).'00:00:00'); $hou = strtotime(date('Y-m-d',Time::daysAgo($i) ).'23:59:59'); $time[$d
ThinkPHP5.1中数据查询使用field方法数组参数起别名时遇到的问题
首先数据库基本查询是没有问题的 <?php namespace app\index\controller; use think\Db; class Demo5 { //1.单条查询 public function find() { $res = Db::table('customers') ->field('Name,CustomerID') ->where('CustomerID', '=', 1) ->find(); dump(is_null($res) ? '没有找到' :
thinkphp5 select对象怎么转数组?
DB操作返回是数组.模型直接操作返回是对象 对象类型转换数组打开 database.php 增加或修改参数'resultset_type' => '\think\Collection',即可连贯操作model('user')->select()->toArray() 或者$adminlist = model('admin')->all()->toArray();if($adminlist){$adminlist = collection($adminlist)->toA
踩坑ThinkPHP5之模型对象返回的数据集如何转为数组
各位小伙伴们大家好,冷月今天在做项目的过程中呢,遇到了一个坑就是用tp5的模型操作数据库时,返回的是数据集而不是直接的数组.于是冷月就想办法如何将数据集转为数组.写下这篇博文,防止大家遇到这个坑时可以更快的解决. 首先让我们来看一下这个坑 首先,冷月在控制器中定义了一个方法来操作模型,如下图: 然后,返回的是数据集而不是可以直接操作的数组: 然后我试着利用toArray()这个方法看看能不能转为数组: 结果报错了, 再查阅资料和看tp5使用手册后,冷月发现将数据库配置database.php文件
ThinkPHP5 助手函数
对于ThinkPHP5.0以前的版本,助手函数全部是单字母函数,但到ThinkPHP5之后,使用如下函数来代替单字母函数: 最常用: /** * 实例化Model * @param string $name Model名称 * @param string $layer 业务层名称 * @param bool $appendSuffix 是否添加类名后缀 * @return \think\Model */if (!function_exists('model')) { function model
【thinkphp5】【THINKCMG】标签部分开发(一)
最近打算开一个自己的CMS后台轮子,框架选择了thinkphp 5 (别问我为什么选择这个框架)然后想边开发边记录一下,方便自己方便他人 进入正题 1.数据库设计 一共三张表 post文章表这个就不贴了(在这里没有使用到) 主要是以下两张 一张是存储标签的tag表, 另一张是关系表用于关联标签与文章 2.代码部分 主要我们使用到了thinkphp5的多对多关联(想详细了解的可以看这里 多对多关联) 文章表对应的模型 model/Posts.php <?php namespace app\admi
ThinkPHP5中Session的使用
由于用惯了ThinkPHP之前的版本,一想到要用Session就直接用$_SESSION来存取,今天看了ThinkPHP5的手册,才发现原来这么用时不安全滴.ThinKPHP5对Session进行了封装,用的时候至少看起来安全多了. Session的设置 如果想要操作Session,再Think PHP5中需要使用Think\Session这个类 代码示例如下: namespace app\index\controller; use think\Controller; use think
thinkphp5.0无限极分类及格式化输出
首先我们来看数据表 从上图中可以发现,中国下有贵州,北京两个子节点,而北京有天安门一个子节点,纽约的子节点是"纽约的子类". 从pid为0看出,中国和纽约是顶级节点. 因为贵州的pid是1,而中国的id为1,所以贵州的父节点是中国,至于type字段,可以不用管,只是我自己的项目需要. 可以发现,着写数据在数据表中是无序的,并没有我们想象中的层次结构分明并且可读性很好. 那么,当使用无限极分类之后数据的输出是怎样的呢?如下: 这样就能够很清晰的看出他们的层次结构了,那么这样的效果在thi
ThinkPHP5上传图片并压缩为缩略图
使用thinkphp开发app后端中,需要实现一个处理上传图片队列的功能 这是个上传多图片保存并且需要对其中一张图片进行压缩的功能 (使用的html5 mui框架开发app,如果直接载入原图,app客户端列表中图稍微多几张就会使得webview十分卡顿,建议在开发中,一定要对用户上传的图片进行服务器端的压缩) 之前已经写过一篇关入如何使用html5+的uploader上传多张图片到服务器的博客: http://www.cnblogs.com/devilyouwei/p/6790255.html
Thinkphp5整合微信扫码支付开发实例
ThinkPHP框架是比较多人用的,曾经做过的一个Thinkphp5整合微信扫码支付开发实例,分享出来大家一起学习 打开首页生成订单,并显示支付二维码 public function index() { $wechat = new Wechat(); $data['order'] = date('Ymd') . substr(implode(NULL, array_map('ord', str_split(substr(uniqid(), 7, 13), 1))), 0, 8); //订单号 $
thinkphp5.0和thinkphp3.2的区别不同之处
先看目录结构: thinkphp 5.0的目录结构, 文档:https://www.kancloud.cn/manual/thinkphp5/118008 project 应用部署目录 ├─application 应用目录(可设置) │ ├─common 公共模块目录(可更改) │ ├─index 模块目录(可更改) │ │ ├─config.php 模块配置文件 │ │ ├─common.php 模块函数文件 │ │ ├─controller 控制器目录 │ │ ├─model 模型目录 │
thinkphp5 model 模型
新增更新都是save.saveAll 怎么识别他们 实例化模型后调用save方法表示新增: 查询数据后调用save方法表示更新: save方法传入更新条件后表示更新: isUpdate(true):强制更新 isUpdate(false):强制新增 新建模型 1.手动创建 app的模块文件夹下新建model文件夹 新建文件user.php.最好名字和表名对应 写代码 <?php namespace app\admin\model; use think\Model; class User ext
框架Thinkphp5 简单的实现行为 钩子 Hook
这篇文章主要介绍了关于框架Thinkphp5 简单的实现行为 钩子 Hook,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 实现在一个方法开始和结束加入两个行为:api_init.api_end 框架的搭建和模块的建立这里就省略了,请不太熟练的同学自行学习. 下面直接进入步骤: 1,先创建一个行为类 \application\api\behavior\AopTest.php <?php namespace app\api\behavior; //行为类 class AopTest
thinkphp5中使用PHPExcel(转载)
thinkphp5中可以使用composer来获取第三方类库,使用起来特别方便,例如:可是使用composer下载PHPMailer,think-captcha(验证码)等等…… 接下来说一下怎么使用PHPExcel,这是一个很好用的第三方类库. 1.使用composer下载PHPExcel,首先安装过composer之后,用dos命令行,引入到项目所在目录下,然后输入composer require phpexcel/phpexcel ,然后点回车键 你会发现项目的目录中在vendor的目录下
ThinkPHP5.0源码学习之注册自动加载
ThinkPHP5框架的自动注册加载流程如下:
ThinkPHP5的数据操作和Thinkphp3.2.3对比小结
前言: 由于Thinkphp5和Thinkphp3.2.3的版本差距过大, 在记忆方面容易混淆. 故特意记录一下在数据操作上的对比的不同. Tp3.2.3 增:add(),addAll() 查:find(),select(),getField() 改:save(),setField(),setInc(),setDec() 注意:setInc,setDec,在TP5中被设定为助手函数可操作方法,Db类和模型都不可以 删:delete(主键),或者where()->delete() Tp5 DB类
ThinkPHP5.0 实现 app微信支付功能
相对于之前随笔写的<ThinkPHP5.0实现app支付宝支付功能>来说,php对接app微信支付功能就相对简单的多了,最近有加我的朋友问到app微信支付,所以我把app微信支付的demo展示出来供大家参考一下,希望对做这个功能的人员给予参考和帮助, 首先还是到支付页面: 微信支付的步骤大致和支付宝支付的步骤差不多,这里我讲的详细一点. 第一步:建立一个支付控制器pay.php,是由上个页面选择好支付方式之后确认支付后需要经过的控制器(这里选择的是微信支付),代码 如下: <?php n
thinkphp5中如何使用 usort
thinkphp5中如何使用 usort 一.总结 一句话总结:其实比较函数加上命名空间就好啦,不然找不到 比较函数加命名空间 数组做usort的第二个参数 usort($question_list, array('\app\index\model\blog\choose_question\base\UsortQuestionList',"cmp_sequence_score")); 1.php中usort的比较函数怎么写? 和c++中的比较函数的写法差不多 二.关于自定义比较函数 u
thinkphp5的Auth权限认证实战
thinkphp5的Auth权限认证实战 一.总结 一句话总结:基于角色的权限管理(真正做一遍,就会发现很简单,不然一直都是半懂不懂的) 角色 权限 真正做一遍,就会发现很简单,不然一直都是半懂不懂的 1.Auth权限认证步骤? auth 表 界面 a.建立auth表 改auth表名 各个表字段的意思 可以在基础表的基础上增加我们需要的字段 比如排序字段,比如无限级分类的pid字段(比如规则表上面就需要) b.权限界面 用户组管理 规则管理 老师端/管理员端(管理端板块布局) 权限管理-----
thinkphp5 数据库和模型
1.Db和模型的存在只是ThinkPHP5.0架构设计中的职责和定位不同,Db负责的只是数据(表)访问,模型负责的是业务数据和业务逻辑.2.Db和模型最明显的一个区别就是Db查询返回的数据类型为数组(对于一个没有业务逻辑的数据而言,数组已经足够),而模型的查询返回类型的是模型对象实例.3.总而言之,想要掌握模型,必须明白和理解下面几个原则:模型和数据库层的定位和职责不同:不要因为性能而放弃使用模型,那是得不偿失的:用面向对象的方式来使用和设计模型:模型的数据底层操作仍然是数据库抽象访问层,而且是
热门专题
wincc如何用脚本把io域输入值读取出来
awk命令-f和-F
福昕pdf阅读器转换慢是什么原因
Electron 无法点击
uniapp微信小程序分包加载
rabbitmq 使用中遇到的问题
centos7实现端口映射转换
vue history 空白
centos hyper-v 分辨率
apache https重定向
vue 打印 doc
ios软键盘导致iframe缩小
postgis函数multipoint对象创建
JavaScript系统保留字
Java 获取date毫秒
微信小程序 信息列表展示组件
diffusers库里有图生图模型吗
esp01sweb配网固件
如何将gps数据导入arcgis
centos7驱动核显