TP6的跨域中间件
app\middleware.php
<?php
// 全局中间件定义文件
return [
// 跨域请求
\think\middleware\AllowCrossDomain::class
];
app\middleware.php
<?php
// 全局中间件定义文件
return [
// 跨域请求
\think\middleware\AllowCrossDomain::class
];
onAfterInsert:
数据插入库后才被触发执行。onAfterUpdate:
数据被修改以之后才会被触发执行。onAfterWrite:
无论是插入数据还是修改后都被触发执行。
https://blog.csdn.net/zouxiaohu2020/article/details/108007358
感谢作者的辛苦付出!
ThinkPHP5
时间戳转换方法:
{$admin. created_at |date='Y-m-d H:s:i',###}
ThinkPHP6
时间戳转换方法:
{$admin.created_at|date='Y-m-d H:i:s'}
原文是这样子的:
验证某个字段是否和另外一个字段的值一致,例如:
'repassword'=>'require|confirm:password'
支持字段自动匹配验证规则,如password
和password_confirm
是自动相互验证的,只需要使用
'password'=>'require|confirm'
会自动验证和password_confirm进行字段比较是否一致,反之亦然。
至少对我这样的菜鸟来说很不好理解,至少我没有使用到上面的那个自动相互验证的办法。
//验证规则
protected $rule = [
'newPsw' => 'require|length:5,12', //输入的新密码
'rePsw' => 'require|length:5,12|confirm:newPsw', //需要与newPsw比对的表单对象
];
见笑了,留个当记念备忘用。
...//省略代码
//引入框架自带分页渲染类
use think\paginator\driver\Bootstrap;
class Atest extends BaseController
{
//报名审核过渡页
function articleList()
{
$pageNo = Request::param('page');
//客户端传过来的分页
$pageNumber = $pageNo ? $pageNo : '0';
if($pageNumber > 0){
$pageNumber_one = $pageNumber-1;
} else {
$pageNumber_one = 0;
}
$limit = 10;//每页显示条数
$offset = $pageNumber_one * $limit;//查询偏移值
$sql = "SELECT ...复杂的SQL脚本... limit $offset,$limit";
$list = Db::query($sql);
//查询的总条数
$sqlTotal = "SELECT count(*) as count_num ...复杂的SQL脚本...";
$counts = Db::query($sqlTotal);
$count = count($counts);//因为获取的总数为数组类型,因此用count计算出总数
//组合分页数据格式
$pagernator = Bootstrap::make($list,$limit,$pageNumber,$count,false,['path'=>Bootstrap::getCurrentPath(),'query'=>request()->param()]);
$page = $pagernator->render();
// 获取分页显示
View::assign(['list' => $list, 'page' => $page]);
return View::fetch();
}
}
{$page|raw}
//验证规则
protected $rule = [
'name' => 'requireWith|unique:auth_rule',
];
//验证提示消息
protected $message = [
'name.unique' => '权限规则已经存在',
];
switch ($searchType) {
case 'name':
$res = OrdersModel::hasWhere('personBase',['name'=>$searchText])->paginate(100);
break;
case 'phone':
$res = OrdersModel::hasWhere('personBase',['phone'=>$searchText])->paginate(100);
break;
case 'icard':
$res = OrdersModel::hasWhere('personBase',['icard'=>$searchText])->paginate(100);
break;
case 'out_trade_no':
$res = OrdersModel::with('personBase')->where(['out_trade_no'=>$searchText])->paginate(10);
break;
case 'transaction_id':
$res = OrdersModel::with('personBase')->where(['transaction_id'=>$searchText])->paginate(10);
break;
}
感谢ThinkPHP
官方收集整理