King's blog


  • 分类

  • 标签

  • 归档

  • 关于

  • 搜索

ThinkPHP3.2-子查询

发表于 2021-07-30 | 更新于: 2021-07-30 | 分类于 ThinkPHP

从TP 3.0版本开始新增了子查询的支持,有两种使用方式

一、使用select方法,

1
2
// 构造子查询
$subQuery = M()->field('id,name')->table('tablename')->group('field')->where($where)->order('status')->select(false);

当select方法的参数为false的时候,表示不进行查询只是返回构建SQL

二、使用buildSql方法

1
2
// 构造子查询
$subQuery = M()->field('id,name')->table('tablename')->group('field')->where($where)->order('status')->buildSql();

调用buildSql方法后不会进行实际的查询操作,而只是生成该次查询的SQL语句,然后我们直接在后续的查询中直接调用

利用子查询进行查询

1
M()->table($subQuery.' a')->where()->order()->select();

构建的子查询SQL可用于TP的连贯操作方法,比如:table、where等等

PHP扩展开发-创建一个扩展

发表于 2021-05-31 | 更新于: 2021-05-31
1
2
3
4
5
6
7
8
1. cd php-src/ext
2. /ext_skel -extname=test
3. cd test
4. vim config.m4
5. phpize config.m4生成configure
6. configure生成Makefile
7. make install
8. vim php.ini extension=test.so

CentOS8网络设置

发表于 2021-05-18 | 更新于: 2021-05-18 | 分类于 CentOS8

查看网络配置

1
$ ifconfig

CentOS7默认已不再安装此命令,很多功能可以使用 ip addr 命令替代

如果系统自带或者已安装则可以忽略一下步骤

安装ifconfig
1
$ yum install net-tools

生成网卡UUID

1
$ uuidgen enp0s8

查看网卡UUID

1
$ nmcli con show

查看Mac地址

1
$ nmcli device show enp0s8

enp0s8网卡配置不存在的情况

创建配置
1
2
3
$ cd /etc/sysconfig/network-scripts
$ cp ifcfg-enp0s3 ifcfg-enp0s8
$ vim vi ifcfg-enp0s8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s8 # 网卡名称
UUID=7384f6a2-34c2-4e01-9a9b-3072ea71e766 # 修改为新生成的网卡UUID
DEVICE=enp0s8 # 网卡名称
ONBOOT=yes

重新加载网络配置

1
$ nmcli con reload

然后使用 ifconfig 查看一下网络配置

之前没有配置enp0s8网卡,现在就已经配置好了,就可以和宿主机通信了

ElasticSearch 删除所有数据

发表于 2021-04-22 | 更新于: 2021-04-22 | 分类于 ElasticSearch

清空索引全部数据

1
2
3
4
5
6
POST /索引/_delete_by_query?pretty
{
"query" : {
"match_all" : {}
}
}

Laravel

发表于 2021-04-20 | 更新于: 2021-04-20 | 分类于 Laravel

Laravel

Api

REST 是所有 Web 应用都应该遵守的架构设计指导原则。 Representational State Transfer,翻译是”表现层状态转化”。

面向资源是 REST 最明显的特征,对于同一个资源的一组不同的操作。资源是服务器上一个可命名的抽象概念,资源是以名词为核心来组织的,首先关注的是名词。REST 要求,必须通过统一的接口来对资源执行各种操作。对于每个资源只能执行一组有限的操作。

阅读全文 »

git创建分支并推送到远程

发表于 2021-04-19 | 更新于: 2021-04-19 | 分类于 Git

Git创建本地分支并推送到远程仓库

阅读全文 »

Python字符串去除空格的方法

发表于 2021-03-17 | 更新于: 2021-04-20
strip() 方法,去除字符串开头或者结尾的空格
1
2
str = " a b c d "
str.strip()
阅读全文 »

Redis

发表于 2021-03-17 | 更新于: 2021-06-04

Redis

Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。

Redis 与其他 key - value 缓存产品有以下三个特点:

  • Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
  • Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
  • Redis支持数据的备份,即master-slave模式的数据备份。
  • 性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。
  • 丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。
  • 原子 – Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。
  • 丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。

OS: ubuntu18.04

Language: php7

阅读全文 »

PHP截取中文乱码问题

发表于 2021-02-04 | 更新于: 2021-04-20

利用 mb_substr 函数截取字符串

阅读全文 »

CentOS7启动nginx报错

发表于 2021-02-02 | 更新于: 2021-04-20

CentOS7启动报错:error while loading shared libraries: libpcre.so.0

首先确认pcre是否已安装,如果没有安装则需要先安装一下

阅读全文 »
123…6
King's

King's

53 日志
13 分类
31 标签
RSS
© 2020 — 2022 King's
由 Hexo 强力驱动
|
主题 — NexT.Mist v5.1.2