
TP5
自己收藏学习
手握阳光,静守流年
展开
-
查询分组后相同值和不同值统计,分组后查询前几条、某字段拼接
SELECT ROW_NUMBER() OVER(PARTITION BY 分组的字段名 order by 排序的字段名) AS rnk,cc.*我本来想做个功能,产品有多个规格,查规格表按产品id分组后想知道同个产品不同规格价格不一样的产品有哪些。3、listagg() WITHIN GROUP () group by 分组后将某字段多行合并成一行。1、查询分组后相同值和不同值统计的个数。2、查询分组后相同内容的前几条。这样就筛选出不同价格的产品了。–把该列挨个复制到‘’内。FROM 表名 cc。转载 2023-03-21 17:07:24 · 261 阅读 · 0 评论 -
TP6 事件绑定、监听、订阅
订阅者类其实就是监听器的一个集合,在里面可以监听多个事件。编写好事件订阅者类后在event.php中注册事件订阅者。注册后就可以通过以下方式触发事件。命令行生成事件订阅者类。命令行生成事件监听类。转载 2023-02-06 16:49:16 · 546 阅读 · 0 评论 -
TP5中find_in_set的用法
TP5中find_in_set的用法转载 2023-01-10 10:26:30 · 997 阅读 · 0 评论 -
TP6解决线上服务器生成Log权限问题
有些项目可能会有think-log等文件,注意看红色部分。位置在vendor\topthink\。转载 2022-11-11 13:48:05 · 1386 阅读 · 0 评论 -
TP6+Redis+think-queue+Supervisor实现进程常驻消息队列/job任务
使用composer安装queuecomposer require topthink/think-queue创建消息队列任务配置消息队列,将config/queue.php将’default’ => ‘sync’改为’default’ => ‘redis’,使用Redis驱动。php// +----------------------------------------------------------------------// | ThinkPHP [ WE CAN.转载 2022-05-23 19:16:32 · 3010 阅读 · 0 评论 -
TP5静态文件加载不出来
一般是因为隐藏了入口文件,但.htaccess没有配置。可以通过URL重写隐藏应用的入口文件index.php,下面是相关服务器的配置参考:httpd.conf配置文件中加载了mod_rewrite.so模块 AllowOverride None 将None改为 All 把下面的内容保存为.htaccess文件放到应用入口文件的同级目录下<IfModule mod_rewrite.c>Options +FollowSymlinks -MultiviewsRewriteEngi原创 2022-05-19 15:42:29 · 404 阅读 · 0 评论 -
TP6 安装拓展
模板拓展:composer require topthink/think-view多模块拓展composer require topthink/think-multi-app原创 2022-04-29 17:20:53 · 258 阅读 · 0 评论 -
TP5 使用redis
1.打开tp5官方手册,在缓存下面找到使用多个缓存类型粘贴以下代码到tp框架config下面的缓存设置下// 切换到redis操作Cache::store('redis')->set('name','value');//获取redisCache::store('redis')->get('rename');//实现redis 消息队列在 /thinkphp/library/think/cache/driver/Redis.php 文件里面封装//.原创 2022-04-22 17:26:40 · 4942 阅读 · 0 评论 -
TP6 的 each 遍历用法
闭包,查出来的赋值给topic_num属性$chapterObj = (new TopicChapter()) ->where('question_bank_id', '=', $questionBankId) ->where('is_deleted', '=', 0) ->where('chapter_type', '=', 1) ->order('sort ASC') ->field('id as chapter_id,chapt.原创 2022-03-12 13:50:53 · 2236 阅读 · 0 评论 -
tp5 报错variable type error: array解决方法
当你在tp5框架中写方法时返回一个数组时,tp5会报错:variable type error: array这是因为tp5不支持返回数组。下面是小编亲测的2种解决方法,大家就看自己实际需求,来决定使用哪种方法。方法一:需要修改你的源代码直接在返回语句中加上json()、xml().....等你需要返回的数据类型函数例如:<?phpnamespace app\index\controller;use think\Db;class Index{ public function转载 2022-03-03 15:11:58 · 11332 阅读 · 0 评论 -
ajax序列化大量数据传
最近碰到要求前端传大量数据到后台重组,正常传值收到默认限制大小,又不想改动配置,网上查了序列化的方法//html部分{volist name="list" id="view" key="lk"} <div class="list-{$lk}"> {volist name="view" id="vi"} <div class="table-content"> <input type="text" value="{$v原创 2021-10-23 11:06:39 · 229 阅读 · 0 评论 -
thinkphp5 ---- object(think\response\Json)转数组
当我们调用json返回的对象想要转成数组方便循环时我们使用getContent()方法就可以转数组了$flag = $this->orderList();$flag = json_decode($flag->getContent(),true);原创 2021-10-10 16:01:40 · 1968 阅读 · 0 评论 -
2021-09-18
thinkphp5 sql 语句group+date_format(time) 组合排序筛选数据_hexiaoniao的博客-优快云博客有需求要整合某时间范围内如:2019-09-21-2019-09-27 范围内的刷卡记录、每天只取最早的那天。来做判断所以这里要用到分组了。按照日期分组。上代码:record_time为刷卡时间$db = Db::table(“表名”)->group("date_format('record_time','%m-%d-%Y')")->select();这样就搞转载 2021-09-18 11:23:39 · 75 阅读 · 0 评论 -
TP5中的getField()方法变化,tp5获取单个字段值
想直接获取单个字段值,弄了半天,tp5的getField()方法变了,具体如下:TP5中的getField():拆分为value和column了例子:••• where("id = 1")->value("title");输出:(string) title••• where("id = 1")->column("title"); 输出:(array)...转载 2020-11-25 16:11:33 · 2145 阅读 · 0 评论 -
TP5的一些查询
//不需要 use app\index\model\Store; $res = model('store')->all(); $res = collection($res)->toArray(); //需要 use app\index\model\Store; $res = store::select(); $res = collection($res)->toArray(); ...转载 2020-08-28 19:42:25 · 335 阅读 · 0 评论 -
TP5在线显示图片出现乱码问题
出现乱码的问题也许是编码不对或者是与html代码混合因为框架的原理,你可能看不出是编码问题还是存在html代码问题,导致有些php文件设置编码也没有用。我在tp高阶文档找到了一个解决乱码的问题,直接在图片处理好后面加一段代码:ob_end_flush()浏览器看看效果大功告成!...转载 2020-08-04 16:54:55 · 603 阅读 · 2 评论 -
TP5查询空的2种情况
TP5查询数据库字段为null或空的字段$where['字段名'] = ['exp',Db::raw('IS NULL OR 字段名= " " ')];双引号之间要空格下,之前没空格报错搞得有点懵原创 2020-07-31 20:13:52 · 1741 阅读 · 0 评论 -
TP5重写分页
<?php// 当时网上看到的,忘记原帖地址了,在thinkphp/library/think/paginator/driver/下面创BootstrapDetailed.php然后把代码复制进去然后在分页引用就行了,例://$user=Db::name('user')->where($where)->paginate(5, false, ['query' => request()->param(),'type'=>'BootstrapDetailed',]);转载 2020-06-19 15:59:13 · 385 阅读 · 0 评论 -
TP5--查询字段包含搜索条件的某一个--FIND_IN_SET
比如我搜索类型为4的数据数据库的值name type张三 1,4,5张三 1,2,4张三 2,3张三 2,4张三 4,5张三 2,5我的目的是查出所有type含4的数据,就要用FIND_IN_SET了$type = 4;//这是传递过来的值,4是个变量$where[]=['exp',Db::raw('FIND_IN_SET('.$type.',type)')];//这是TP5的数组where写法...原创 2020-06-19 15:51:11 · 1746 阅读 · 0 评论