thinkphp6模型model的增、删、改、查

上次已经把项目和数据库对接上并且用model模型实现数据表单条数据的添加,如下:

<?php
namespace app\admin\controller;
use app\admin\model\Admin;//引用Admin模型

class Datatest 
{
    public function index()
    {
        
        return '这里是数据测试链接';
    }
    public function add(){
        //通过原生方法向数据表添加数据
        // $admin = new Admin;//实例化模型
        // $admin -> save([//利用save()方法向数据表添加数据,此方法只能向已有字段添加数据,一般返回
        //     'typename'      => '超级管理员',
        //     'mobile'	    => '13878298210',
        //     'email'	        => '483427581@qq',
        //     'password'      => '123456',
        //     'realname'	    =>'胡一可',
        //     'lastip'        =>'192.168.1.1'
        // ]);
        //通过静态方法添加数据
        $admin = Admin::create([
            'typename'      => '超级管理员',
            'mobile'	    => '13367521211',
            'email'	        => '483427581@qq',
            'password'      => '123456',
            'realname'	    =>'罗志详',
            'lastip'        =>'192.168.1.1'
        ]);
    }
}

 1.批量添加数据

saveAll()可以实现批量添加数据

public function addall(){
        $admin = new Admin;
        $datalist = [
            ['typename' => '超级管理员','mobile' => '13367521222','email' => '483427581@qq','password' => '123456','realname' =>'马化腾','lastip' =>'192.168.1.1'],
            ['typename' => '超级管理员','mobile' => '13367521222','email' => '483427581@qq','password' => '123456','realname' =>'码云','lastip' =>'192.168.1.1'],
            ['typename' => '超级管理员','mobile' => '13367521222','email' => '483427581@qq','password' => '123456','realname' =>'bat','lastip' =>'192.168.1.1'],
            ['id' => '2','typename' => '普通管理员','mobile' => '13367521222','email' => '483427581@qq','password' => '123456','realname' =>'蒙恰恰','lastip' =>'192.168.1.1']
        ];
        $admin->saveAll($datalist);//利用saveAll()实现批量上传数据,当数据中含有主键时会被认为是更新操作
}

 2.数据查找

public function find(){
        //$admin = Admin::find(2);//直接通过主键查询数据
        //$admin = Admin::where('mobile','13878298210') -> find();//通过where条件查询
        //$admin = Admin::where('id','>','3') -> select();//通过where条件查询
        //$admin = Admin::select();//查询全部数据
        //$admin = Admin::select([1,2,3]);//多条数据查询
        return $admin;
    }

3.数据更新

public function update(){
        $admin = Admin::find(3);//先查找数据
        $admin->mobile = '15977291627';//修改数据1
        $admin->realname = '蒙66';//修改数据2
        $admin->save();//用save()保存数据
        return $admin;
    }

4.数据删除

public function delete(){
        //方法一
        // $admin = Admin::find(12);//先查找数据
        // $admin->delete();//直接删除
        
        //静态方法
        $admin = Admin::destroy(11);//返回的是布尔值

        //条件删除
        // $admin = Admin::where('id','>','8')->delete();
    }

 

先到这吧~ 

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ThinkPHP中,操作数据库的方法有以下几种: 1.新数据:使用insert方法 示例代码: ```php // 实例化模型 $user = new UserModel(); // 设置新数据 $data['name'] = '张三'; $data['age'] = 18; $data['email'] = 'zhangsan@example.com'; // 执行新操作 $result = $user->insert($data); if ($result) { echo '数据新成功'; } else { echo '数据新失败'; } ``` 2.更新数据:使用save方法或update方法 示例代码: ```php // 实例化模型 $user = new UserModel(); // 询数据 $userInfo = $user->where('id', 1)->find(); // 更新数据 $userInfo->name = '李四'; $userInfo->age = 20; $userInfo->email = 'lisi@example.com'; $result = $userInfo->save(); if ($result) { echo '数据更新成功'; } else { echo '数据更新失败'; } ``` 或者 ```php // 实例化模型 $user = new UserModel(); // 设置更新数据 $data['name'] = '李四'; $data['age'] = 20; $data['email'] = 'lisi@example.com'; // 执行更新操作 $result = $user->where('id', 1)->update($data); if ($result) { echo '数据更新成功'; } else { echo '数据更新失败'; } ``` 3.删除数据:使用delete方法 示例代码: ```php // 实例化模型 $user = new UserModel(); // 执行删除操作 $result = $user->where('id', 1)->delete(); if ($result) { echo '数据删除成功'; } else { echo '数据删除失败'; } ``` 4.询数据:使用select方法、find方法、value方法、column方法 示例代码: ```php // 实例化模型 $user = new UserModel(); // 询全部数据 $list = $user->select(); // 询单条数据 $info = $user->where('id', 1)->find(); // 询某个字段的值 $name = $user->where('id', 1)->value('name'); // 询某个字段的所有值 $names = $user->column('name'); ``` 以上是常用的操作数据库的方法,需要注意的是,在使用以上方法之前,需要先实例化模型。实例化模型的方式有两种: 1.使用Model类 ```php use think\Model; class UserModel extends Model { // ... } ``` 2.继承think\Db类 ```php use think\Db; class UserModel extends Db { // ... } ``` 其中,第一种方式是使用Model类,这种方式更加方便,但是在处理复杂的业务逻辑时可能会有一定的限制;第二种方式是继承think\Db类,这种方式相对来说更加灵活,但是需要自行编写SQL语句,相对来说会比较麻烦。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值