Thinkphp 6.0模型的新增和删除

本节课我们来学习模型中的数据新增和删除的基本操作。

一.数据新增

1. 使用实例化的方式添加一条数据,首先实例化方式如下,两种均可:

$user = new UserModel();
$user = new \app\model\User();

2. 设置要新增的数据,然后用 save()方法写入到数据库中,save()返回布尔值;

$user->username = '李白';
$user->password = '123';
$user->gender = '男';
$user->email = 'libai@163.com';
$user->price = 100;
$user->details = '123';
$user->uid = 1011;
$user->save();

3. 也可以通过 save()传递数据数组的方式,来新增数据;

$user = new UserModel();
$user->save([
'username' => '李白',
'password' => '123',
'gender' => '男',
'email' => 'libai@163.com',
'price' => 100,
'details' => '123',
'uid' => 1011
]);

4. 使用 allowField()方法,允许要写入的字段,其它字段就无法写入了;

$user->allowField(['username','email', 'password','details'])->save(...)

5. 模型新增也提供了 replace()方法来实现 REPLACE into 新增;

$user->replace()->save();

6. 当新增成功后,使用$user->id,可以获得自增 ID(主键需是 id);

echo $user->id;

7. 使用 saveAll()方法,可以批量新增数据,返回批量新增的数组;

$dataAll = [
[
'username' => '李白 1',
'password' => '123',
'gender' => '男',
'email' => 'libai@163.com',
'price' => 100,
'details' => '123',
'uid' => 1011
],
[
'username' => '李白 2',
'password' => '123',
'gender' => '男',
'email' => 'libai@163.com',
'price' => 100,
'details' => '123',
'uid' => 1011
]
];
$user = new UserModel();
dump($user->saveAll($dataAll));

8. 使用::create()静态方法,来创建要新增的数据;

$user = UserModel::create([
'username' => '李白',
'password' => '123',
'gender' => '男',
'email' => 'libai@163.com',
'price' => 100,
'details' => '123',
'uid' => 1011
], ['username', 'password', 'details'], false);
//参数 1 是新增数据数组,必选
//参数 2 是允许写入的字段,可选
//参数 3 为是否 replace 写入,默认 false 为 Insert 写入

二.数据删除

1. 使用 find()方法,通过主键(id)查询到想要删除的数据;

$user = UserModel::find(93);

2. 然后再通过 delete()方法,将数据删除,返回布尔值;

$user->delete();

3. 也可以使用静态方法调用 destroy()方法,通过主键(id)删除数据;

UserModel::destroy(92)

4. 静态方法 destroy()方法,也可以批量删除数据;

UserModel::destroy([80, 90, 91]);

5. 通过数据库类的查询条件删除;

UserModel::where('id', '>', 80)->delete();

6. 使用闭包的方式进行删除;

UserModel::destroy(function ($query) {
$query->where('id', '>', 80);
});

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值