1、TP6不能使用模版提示 View Driver [Think] not supported
解决办法如下:
命令行输入 composer require topthink/think-view
安装好这个就可以使用了。
2、where与whereor同时使用
$data = db('table')->where(function($query) {
$query->where('key1', value)->whereor('key1',value1);
})->where(['key2'=>value2,'key3'=>value3])->field('key4')->find();
生成的sql语句为:
find key4 FROM `table` WHERE ( `key1` = 'value' OR `key1` = 'value1' ) and `key2` = 'value2'
and 'key3' = 'value3';
3、搜索条件的between的数组写法
$range = $time_1 . ',' . $time_2
$where[] = ['createtime', 'between', $range];
1,如果查询条件中有字段使用了这样的写法,那么其他的字段也必须使用这样的方法,不然会报错
比如如果要搜索年龄
要从
$where['age'] = $age;
变成
$where[] = ['age', '=', $age];
4、phpspreadsheet导入excel表 日期变为了数字
使用phpspreadsheet导入的时候读取的实际是这个单元格的常规格式,这个43320的意思就是1900-01-01到现在过去了多少天
但是PHP是计算从1970-01-01开始的,所以需要减去这中间70年的天数
即: 365*70 + 18(中间的润年天数) + 1 = 25569
那么用43320 - 25569 = 17751天
17751 * 24 * 3600 = 1533686400
5、TP6 where is null写法
1、use think\facade\Db;
$where[] = ['e.create_time', 'EXP', Db::raw('IS NOT NULL')];
2、$data["map"] = ['uid' => $uid,"alipay_appid"=>["not null","EXP"]];