[TOC]
## 对模型的查询和写入进行封装`scope`
~~~
namespace app\index\model;
use think\Model;
class User extends Model
{
protected function scopeThinkphp($query)
{
$query->where('name','thinkphp')->field('id,name');
}
protected function scopeAge($query)
{
$query->where('age','>',20)->limit(10);
}
}
~~~
就可以使用一下方法查询
~~~
// 查找name为thinkphp的用户
User::scope('thinkphp')->find();
// 查找年龄大于20的10个用户
User::scope('age')->select();
// 查找name为thinkphp的用户并且年龄大于20的10个用户
User::scope('thinkphp,age')->select();
~~~
或者使用闭包查询
~~~
User::scope(function($query){
$query->where('age','>',20)->limit(10);
})->select();
~~~
支持传入参数
支持动态调用
~~~
$user->thinkphp()->get();
~~~
## 删除数据
1. 根据主键调用静态方法
~~~
User::destroy(1);
// 支持批量删除多个数据
User::destroy('1,2,3');
User::destroy([1,2,3]);
~~~
2. 条件删除
~~~
User::destroy(['status' => 0]);
~~~
3. 闭包删除
~~~
User::destroy(function($query){
$query->where('id','>',10);
});
~~~
4. 根据查询条件删除
~~~
User::where('id','>',10)->delete();
~~~
5. 根据模型删除
~~~
$user = User::get(1);
$user->delete();
~~~
- php
- 安全
- php7
- 特性
- 编译安装
- 源码整体框架
- 基本变量
- thinkphp3.2.3
- thinkphp5.0
- thinkphp6.0
- laravel
- 配置
- 路由
- artisan控制台
- eloquent
- tinker
- composer
- 加密解密
- 小知识点
- 数组
- string
- 代码简洁之道
- 编译
- 语法糖
- lumen
- smarty
- 错题集
- 算法及数据结构
- 线性表结构
- 插入排序
- 冒泡排序
- 数据库
- mysql
- oracle
- PostgreSQL
- redis
- sqlserver
- 前端
- 备忘
- js
- nodejs
- vue
- css
- electron
- vue
- 语法糖
- colorui使用笔记
- 微信小程序
- 操作系统
- windows
- bat
- 快捷键
- linux
- sed
- 问题解决
- git
- docker
- docker-compose
- 正则表达式
- ps
- lua
- 协议相关
- 问题思索
- Golang
- 测试
- 读取和写入json配置文件
- 类
- 接口
- mod
- gin
- fyne
- 禅道二次开发
- 服务
- apache
- 漏洞配置
- http server优化
- nginx
- 安装
- 面试题库
- freeswitch