ThinkPHP5.0模型对象的方法、自动完成、增删改查操作

模型:

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);

ThinkPHP5.0模型对象的方法、自动完成、增删改查操作

最后编辑于:2019/11/06作者: 牛逼PHP

发表评论