为了账号安全,请及时绑定邮箱和手机立即绑定

快速入门ThinkPHP 5.0 --模型篇

难度中级
时长 3小时 0分
学习人数
综合评分9.67
70人评价 查看评价
10.0 内容实用
9.5 简洁易懂
9.5 逻辑清晰
  • 【增删改查之 查】 方法: 1. 使用Db类 a) 使用sql语句:Db::query("select * from tp5_user where id=?",[1]) * query的第二个参数是个数组,数组第一个单元替换前面查询语句的第一个问号,第二个单元替换第二个问号,以此类推 b) 使用select方法: Db::table('tp5_user')->select() 返回所有记录,所以是二维数组,可以和where合作。结果不存在,返回空数组。 c) 使用column方法:Db::table('tp5_user')->column('username','email'); 返回指定字段列的所有记录值,是一维数组,如果有第二个参数的话,则以第二参数的值作为数组的key。结果不存在,返回空数组。 d) 使用find方法:Db::table('tp5_user')->find(); 返回一条记录,所以是一维数组,一般和where合作。结果不存在,返回NULL。 e) 使用value方法:Db::table('tp5_user')->where(['id'=>10])->value('username'); 返回一条记录,而且是value里面指定的字段值。结果不存在,返回NULL。 * 在2-5这四个方法里面,table可以换成name方法,可以省略掉表前缀 2. 使用助手函数: db('user')->select(); 助手函数后面同样可以使用select find value column。 使用类和助手函数的区别是: * 类是单例模式,不需要每次使用的时候实例化 * 助手函数在每次调用的时候需要实例化。如果不希望重新实例化,可以传递第三个参数false。 db('user',[],false)
    查看全部
  • 修改数据库配置方式 1.可在config下的database.php返回配置信息 2.在方法里面引入 use think\db;DB::connect(array);返回一个数组配置 3.同样是DB::connect("mysql://root:password@127.0.0.1:3306:/databasename#utf8"); 4.在配置文件中,返回一个array,DB::connect("array");
    查看全部
  • 【增删改查之 增】 方法: $db = Db::name('user') 1. insert: $db->insert([ 'username'=>'hujianlun', 'password'=>md5('hujianlun'), 'email'=>'hujianlun@qq.com' ]); //返回影响记录的行数 2. insertGetId: $db->insertGetId([ 'username'=>'hujianlun', 'password'=>md5('hujianlun'), 'email'=>'hujianlun@qq.com' ]); //返回新增记录的自增id 3. insertall: $db->insertall($data); //$data是包含要插入数据的二维数组。返回成功插入的记录数目。 4. 使用sql语句 Db::execute("insert into tp5_user set username=?,password=?,email=?",['gemma',md5('gemma'),'gemma@qq.com']);
    查看全部
    4 采集 收起 来源:添加数据

    2018-03-22

  • model的命名规范:一般model的名字和表名是对应的,例如 表名为imooc_user->模型名User.php 表名imooc_user_info->模型名UserInfo.php
    查看全部
    3 采集 收起 来源:什么是模型

    2018-03-22

  • 助手函数db类db('user',[],false)避免多次实例化   Db单例模式,

    查看全部
  • buildSql();返回SQL语句

    where('字段名','表达式','查询条件');

    表达式 含义

    EQ、=        等于(=) 

    NEQ、<>  不等于(<>) 

    GT、>        大于(>) 

    EGT、>=    大于等于(>=) 

    LT、<                    小于(<) 

    ELT、<=                小于等于(<=) 

    LIKE                      模糊查询 

    [NOT] BETWEEN (不在)区间查询 

    [NOT] IN            (不在)IN 查询( 'id','in' ,'1,5,8'( [1,5,8] ) )

    [NOT] NULL 查询字段是否(不)是NULL 

    [NOT] EXISTS EXISTS查询 

    EXP 表达式查询,支持SQL语法 

    > time 时间比较 

    < time 时间比较 

    between time 时间比较 

    notbetween time 时间比较 

    <!-- Db::table  -->

    Db::table('据库名')->where()->buildSql();

    <!-- Db::name 方法同上 -->

    Db::name('不戴前置数据库名')->where()->buildSql();


    查看全部
    2 采集 收起 来源:条件构造器

    2019-01-06

  • 修改数据库配置的四种方式

    1.可在config下的database.php返回配置信息,直接 Db::connect()(如果参数为空,那么会默认使用database.php中的配置连接)

    2.在方法里面引入 use think\Db;Db::connect(array);数组即数据库连接配置

    3.同样是Db::connect("mysql://root:password@127.0.0.1:3306:/databasename#utf8");                  //use think\Db 

    4.在配置文件中,添加一个数组,Db::connect("数组键名");
    //use think\Db


    查看全部
  • $db->where([])->update([])返回影响的行数

    $db->where([])->setField($fieldname,$fieldvalue)更改某个字段值

    $db->where([])->setInc($fieldname,$num);增加,不设置第二个参数默认为一

    $db->where([])->setDec($fieldname,$num);减少

    查看全部
  • 使用模型更新表数据:

    <?php
    namespace app\index\controller;
    use think\Controller;
    use app\index\model\User;
    class Index extends Controller
    {
        public function index(){
            #当数据中存在自增id时,数据更新方式,返回修改的内容,无法验证是否更改
    //        $res = User::update([
    //            'id' => 1,
    //            'username' => 'wenco_update'
    //        ]);
    //        dump($res->toArray());
    
            #当数据中不存在自增id时如下,第二个参数即为where,可以为闭包函数,返回修改内容
    //                $res = User::update([
    //            'username' => 'wenco_update'
    //  当第二个参数为数组      ],['id' => '2']);
    //当第二个参数为闭包函数        ],function ($query){
    //                    $query->where('id','>=', 15);
    //                });
    
            #where 返回被影响行数,推荐使用!
    //        $res = User::where('id','between',[1,5])->update([
    //            'username' => 'wenco_old'
    //        ]);
    //        dump($res);
    
            #User::get,返回被影响行数
    //        $userModel = User::get(1);
    //        $userModel->username = '123';
    //        $userModel->email = '123@qq.com';
    //        $res = $userModel->save();
    //        dump($res);
    
            #new User,返回影响行数,第二个参数可以为闭包函数
    //        $userModel = new User;
    //        $res = $userModel->save([
    //            'username' => 555
    //        ],['id' =>  18]);
    //        dump($res);
    
            #saveAll,返回结果集,不推荐使用
            $userModel = new User;
            $res = $userModel->saveAll([
                ['id' => 1,'username' => 'wencocococ' ],
                ['id' => 2,'username' => 'wencocococ' ]
            ]);
            dump($res);
        }
    }


    查看全部
  • // 链接数据库 // $res = Db::connect(); #使用sql语句的方式查询数据库 //$res = Db::query("select * from imooc_user where id=?", [1]); // $res = Db::execute("insert into imooc_user set username=?,password=?,email=?", [ // 'imooc', // md5('imooc'), // 'imooc@qq.com' // ]); #select 返回所有记录,返回的结果是一个二维数组 #如果结果不存在,返回一个空数组 //$res = Db::table('imooc_user')->select(); #find 返回一条记录,返回的结果是一个一维数组 #如果结果不存在,返回NULL //$res = Db::table('imooc_user')->find(); #value 返回一条记录,并且是这条记录的某个字段值 #如果结果不存在,返回NULL //$res = Db::table('imooc_user')->value('username'); #column 返回一个一维数组,数组中的value值就是我们要获取的列的值 #如果存在第二个参数,就返回这个数组并且用第二个参数的值作为数组的key值 #如果结果不存在,返回空数组 //$res = Db::table('imooc_user')->column('username','email'); //$res = Db::name('user')->select(); $res = db('user', [], false)->find();
    查看全部
  • 四种引用模型的方法 有直接使用 有new一个实例 有使用Loader::model() 有助手函数module() 注意命名规范
    查看全部
    2 采集 收起 来源:什么是模型

    2017-09-06

  • Db连接 3. dns配置法 类型://用户名:密码@主机名:端口号/数据库名称#utf8
    查看全部
  • 如何更改数据获取之后返回的值? 1. 在model编写public方法,get+字段名(首字母大写)+Attr,比如getSexAttr($val) 2. 在方法内编写逻辑,switch case可以处理不同的情况下返回什么样的值。 3. 然后在控制器内可以get记录然后展示其内的值,一般情况下都是展示处理后的数据。 * 在控制器内调用getData()方法可以获取原始数据,而且是数组形式
    查看全部
    2 采集 收起 来源:模型获取器

    2017-07-31

  • 如何更改数据获取之后返回的值? 1. 在model编写public方法,get+字段名(首字母大写)+Attr,比如getSexAttr($val) 2. 在方法内编写逻辑,switch case可以处理不同的情况下返回什么样的值。 3. 然后在控制器内可以get记录然后展示其内的值,一般情况下都是展示处理后的数据。 * 在控制器内调用getData()方法可以获取原始数据,而且是数组形式。
    查看全部
    2 采集 收起 来源:模型获取器

    2017-07-10

  • 【模型删除】 destroy: User::destroy() 1 可以传入单独数字,主键值 2 传入数组如['id'=>2] 3 传递闭包函数 function 获取删除:通过get方法获得模型对象,调用模型对象的delete方法进行删除 where删除:where->delete() //where('1=1')代表删除整个表的数据,但是保留了自增id的记录
    查看全部
首页上一页1234567下一页尾页

举报

0/150
提交
取消
课程须知
1、有一定的php基础。 2、对ThinkPHP5 有一定的了解。 3、没有接触过tp5 的学生可以先看下我之前录制的 <快速入门 ThinkPHP5 基础篇>
老师告诉你能学到什么?
1、ThinkPHP5 的数据库操作类 2、ThinkPHP5 的数据模型 3、使用数据模型快速对数据库进行增删改查的操作 4、ThinkPHP5 的自动完成操作 5、模型的自动时间戳和软删除

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!