1、dd():打印并截断。halt()同效果。dump()
2、使⽤Arr::collapse($array),这种⽅法可以将Collection数据集转化为数组。类似于在链式写法中的toArray3、config()函数:打印后是全部配置函数,将根⽬录下的config⽂件全部收集起来了4、hidden()函数可以对某个字段隐藏输出:
$Db->hidden(['name']);
5、模型中判断数据集:⽤isEmpty(),不能⽤空。
if($users->isEmpty()){ echo '数据集为空';}
6、添加数据后如果需要返回新增数据的⾃增主键,可以使⽤insertGetId⽅法新增数据并返回主键值:
$userId = Db::name('user')->insertGetId($data);
7、 // edit 验证场景定义
public function sceneEdit(){
return $this->only(['name','age']) ->append('name', 'min:5') ->remove('age', 'between')
->append('age', 'require|max:100');}
主要⽅法说明如下:
⽅法名 描述
only 场景需要验证的字段
remove 移除场景中的字段的部分验证规则append 给场景中的字段需要追加验证规则
如果对同⼀个字段进⾏多次规则补充(包括移除和追加),必须使⽤下⾯的⽅式:
remove('field', ['rule1','rule2'])// 或者
remove('field', 'rule1|rule2')
8、批量验证:batch(true)
默认情况下,⼀旦有某个数据的验证规则不符合,就会停⽌后续数据及规则的验证,如果希望批量进⾏验证,可以设置:
namespace app\\controller;
use app\\validate\\User;
use think\\exception\\ValidateException;
class Index{
public function index() { try {
$result = validate(User::class)->batch(true)->check([ 'name' => 'thinkphp',
'email' => 'thinkphp@qq.com', ]);
if (true !== $result) {
// 验证失败 输出错误信息 dump($result); }
} catch (ValidateException $e) { // 验证失败 输出错误信息 dump($e->getError()); } }}
9、中间件注册⽅式:路由添加:
Route::post('getMenuTreeList','Menu/getMenuTreeList') ->middleware(app\\middleware\\Check::class);
控制器添加(注意:此情况 对该类下所有⽅法适⽤):
protected $middleware = [\\app\\middleware\\Check::class];
⼜此种情况 跟 路由添加⼀样(下列情况表⽰,check中间件仅对getMenuTreeList⽅法⽣效):
protected $middleware = [
\\app\\middleware\\Check::class => ['only' => ['getMenuTreeList'] ] ];
注册中间件:
php think make:middleware Check
因篇幅问题不能全部显示,请点此查看更多更全内容