模型:
use think\Model;模型基类
namespace app\index\model;空间名
在控制器中调用模型:
1.
use app\index\model\User;使用
$m = new User;
2.
use think\Loader;
$m = Loader::model('模型名称');
$m = model('模型名称');助手函数
模型对象的方法:
增
create(一维数组): 静态方法,通过模型添加数据,参数为关联数组,返回当前模型的对象
User::create($user);
save(一维数组): 普通方法,通过模型添加数据,参数为关联数组,返回受影响的行数
saveAll(二维数组): 添加多条数据,参数为二维关联数组,返回数组,数组元素是模型对象
删
delete():删除对应数据,返回受影响的行数
用法:User::get(2)->delete():删除ID为2的记录
User::where('id','eq',3)->delete():删除ID为3的记录
destroy(复合类型的参数):静态方法,用于删除数据
用法:User:destroy(1):删除id=1的记录
User::destroy('1,2,3'):参数是字符串,删除Id是1,2,3的记录
User::destroy([1,2,3]):参数是数组,删除Id是1,2,3的记录
User::destroy(['admin'=>1]):删除admin=1的记录
User::destroy(function($query){$query->where('username','like','%5')}):匿名函数方式
改
update($data):$data是数组,数组中必须指定id
用法:User::update(['id'=>1,'phone'=>'131555']):将id为1的用户的电话改了
User::where('id','eq','4')->update(['phone'=>'11']):将id为4的用户电话改了
save():更新一条记录
无参数用法:$u = User::get(2);$u->phone = '11';$u->save();将id为2的电话改为11
关联数组参数用法:$u = User::get(3);$res = $u->save(['phone'=>'14']):将id为3的用户电话改了
saveAll(array $data):更新多条记录,参数是二维数组
用法:User::update(['id'=>1,'phone'=>'131555'],['id'=>3,'phone'=>'131555'])
查
paginate([数字]):分页查询
查数据:$list = User::where(1)->paginate([数字]):数字是单页记录数
在模板中展示分页:{{$list->render()}}
get():静态方法,查询一条记录,返回当前模型对象
用法:User::get(数字) id=数字
$res = User::get(['username'=>'admin']);
$res->username;//得到字段值
$res->toArray();将结果转成数组
$res->toJson();将结果转成JSON
all():静态方法,查询多条记录,返回结果是数组,数组的元素是对象
参数:
为空:返回数据表中所有的记录
字符串:all('1,2,3')
数组:all([1,2,3]) all(['admin'=>1])
自动完成
时间字段的自动完成
protected $autoWriteTimestamp = true; //开启时间字段自动完成
protected $updateTime = false;
protected $createTime ='需要使用当前时间的字段';
非数据表字段自动过滤:allowField(true)
用法:model('user')->allowField(true)->save($data);