php模型update,Thinkphp5.0 框架使用模型Model添加、更新、删除数据操作详解

本文实例讲述了Thinkphp5.0 框架使用模型Model添加、更新、删除数据操作。分享给大家供大家参考,具体如下:

Thinkphp5.0 的使用模型Model添加数据

使用create()方法添加数据

$res = TestUser::create([

'name' => 'zhao liu',

'password' => md5(123456),

'email' => 'zhaoliu@qq.com'

]);

dump($res);

使用save()方法添加数据

$userModel = new TestUser;

$userModel->name = 'ya ya';

$userModel->email = 'yaya@139.com';

$res = $userModel->save();

dump($res);//影响的行数

dump($userModel->id);//新纪录的id

注意:使用allowField(true)方法,传递不存在的字段时不会报错

示例:

$userModel = new TestUser;

$userModel->name = 'hei hei';

$userModel->email = 'heihei@139.com';

$userModel->yes = '不存在字段';

$res = $userModel->allowField(true)->save();

dump($res);//影响的行数

dump($userModel->id);//新纪录的id

使用saveAll()方法添加多条数据

$userModel = new TestUser;

$data = array(

['name'=>'ga ga','email'=>'gaga@sina.com'],

['name'=>'you you','email'=>'youyou@163.com']

);

//返回结果是个多维的数组

$res = $userModel->saveAll($data);

//如果需要得到添加的数据的每个id,需要遍历

foreach($res as $v){

dump($v->id);

}

Thinkphp5.0 的使用模型Model更新数据

(1)使用update()方法进行更新数据

一、where条件写在更新数据中

(这种情况更新的数据,必须含主键)

$res = User::update([

'id' => 2,

'email' => '121@qq.com'

]);

//返回修改之后model的整个对象信息

dump($res);

二、where条件使用update()的第二个参数,传递数组

$res = User::update([

'email' => '123@qq.com'

],['id'=>2]);

//返回修改之后model的整个对象信息

dump($res);

三、where条件使用update()的第二个参数,传递闭包函数

$res = User::update([

'email' => '555@qq.com'

],function($query){

$query->where(['id'=>2]);

});

//返回修改之后model的整个对象信息

dump($res);

四、使用where条件

$res = User::where('id','=',2)->update([

'email'=>'666@qq.com'

]);

//返回影响的行数

dump($res);

(2)使用save()方法

方式一:

$model = User::get(2);

$model->email = '777@qq.com';

$res = $model->save();

//返回影响的行数

dump($res);

方式二:

$model = new User();

$res2 = $model->save([

'email' => '999@qq.com'

],['id'=>2]);

//返回影响的行数

dump($res2);

方式三:

$model = new User();

$res = $model->save([

'email' => '000@qq.com'

],function($query){

$query->where(['id'=>2]);

});

//返回影响的行数

dump($res);

使用saveAll()方法更新多个数据:

$model = new User();

$res = $model->saveAll([

['id' => 2,'email' => '122@qq.com'],

['id' => 3,'email' => '123@qq.com'],

['id' => 4,'email' => '124@qq.com']

]);

//返回数组

dump($res);

Thinkphp5.0 的使用模型Model删除数据

一、使用destory()删除数据

//删除id为3的记录

$res = User::destroy(3);

//返回影响的行数

dump($res);

destory()的参数可以是主键、数组条件、闭包函数。

二、使用delete()删除数据

//删除id为3的记录

$model = User::get(3);

$res = $model->delete();

//返回影响的行数

dump($res);

三、delete()和where()

//删除id为4的记录

$res = User::where('id','=',4)->delete();

//返回影响的行数

dump($res);

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值