为了账号安全,请及时绑定邮箱和手机立即绑定
慕课网数字资源数据库体验端
快速入门ThinkPHP 5.0 --模型篇_学习笔记_慕课网
为了账号安全,请及时绑定邮箱和手机立即绑定

快速入门ThinkPHP 5.0 --模型篇

乌云龙 PHP开发工程师
难度中级
时长 3小时 0分
  • <?php
        namespace app\index\model;
        use think\Model;
        class User extends Model{
            public function getSexAttr($val){
                switch($val){
                    case '1':
                        return "男";
                        break;
                    case '2':
                        return "女";
                        break;
                    default:
                        return "未知";
                        break;
                }
            }
        }


    查看全部
    0 采集 收起 来源:模型获取器

    2018-10-29

  • class Index extends Controller{
        public function index(){
            $res = User::count();
            $res = User::where('id','>','5')->count();
            $res = User::max('age');
            $res = User::sum('age');
            $res = User::min('age);
            $res = User::avg('age');//都可以和第一个一样带条件查询
            dump($res);
        }
    }


    查看全部
    0 采集 收起 来源:模型聚合操作

    2018-10-29

  • <?php
        namespace app\index\controller;
        use think\Controller;
        use app\index\model\User;
        class index extends Controller{
            public function index(){
                $res = User::destroy(function($query){
                    $query->where('id','>',5);
                });//可以传ID值或者闭包函数作为条件
                dump($res);
                $userModel = User::get(7);
                $userModel->delete();
                $res = User::where("1=1")
                    ->delete();
                dump($res);
            }
        }


    查看全部
  • <?php
        namespace app\index\controller;
        use think\Controller;
        use app\index\model\User;
        class Index extends Controller{
            $data = [];
            for($i=1;$i<21;$i++){
                $data[] = [
                    'username'=>'zhangsan_'.$i,
                    'password'=>md5('sdfa'._$i),
                    'age'=>$i
                ];
                $userModel = new User;
                $userModel->saveAll($data);
                dump($res);
                $res = User::update([
                   'username'=>'wangba',
                   'age'=>15,
                   'id'=>15
                ],function($query){
                    $query->where('id','LT',5);
                });//如果第一个参数不包含条件ID,第二个参数应该设置ID值或指闭包函数为更新条件
                dump($res);
                $res = User::where('id','<',6)
                    ->update([
                        'username'=>'hehe'
                    ]);
                $userModel = User::get(1);
                $userModel->username = "123";
                $userModel->age = 110;
                $usermodel = new User;
                $res = $userModel->save([
                    'username'=>'huhu'
                ],function($query){
                    $query->where("id","<","5");
                });
                $res = $usermodel->saveAll([
                    ['id'=>1,'username'=>'jingyao'],
                    ['id'=>2,'username'=>'lihong']
                ]);
            }
        }


    查看全部
  • <?php
        namespace app\index\controller;
        use think\Controller;
        use app\index\model\User;
        class Index extends Controller{
            public function index(){
                $user = User::create([
                    'username'=>'zhangsan',
                    'password'=>md5(123456),
                    'age'=>13
                ],['username','age']);//第二个参数设置为true则只插入数据表中存在的字段,数组是允许插入的字段,不设置插入不存在的字段的时候会报错
                dump($res->id);//返回插入的ID
                $userModel = new User;
                $userModel->username = "lisi";
                $userModel->password = md5('sdfa');
                $userModel->save();
                dump($userModel->id);
                $userModel = new User;
                $res = $userModel
                ->allowField(['username'])
                ->save([
                    "username"=>'wangba',
                    'password'=>md5('sdfs'),
                    'demo'=>123
                ]);
                $res = $userModel->saveAll([
                    ['age'=>17],
                    ['age'=>18]
                ]);
                foreach($res as $val){
                    $arr = $val->toArray();
                    dump($arr);
                }
            }
        }



    查看全部
  • <?php
        namespace app\index\controller;
        use think\Controller;
        use app\index\controller\User;
        class index extends Controller{
            $res = User::get(function($query){
                $query->where("username","eq","zhangsan")
                      ->filed("username,email");
            });
            $res = User::where("id",12)
                ->field("id,username")
                find();
             $res = User::all(function($query){
                 $query->where("id","<","15")
                       ->select();
             });
             $res = User::where('id','>',"15")
                  ->field("username,email")
                  ->limit(3)
                  ->order('id DESC')
                  ->select();
             foreach($res as $val){
                 $res->toArray();
                 dump($val->toArray());
             }
             $res = User::value('email');
             $res = User::where('id','10')->value('email');
             $res = User::column("email","username");
             dump($res);
        }


    查看全部
  • <?php
        namespace app\index\controller;
        use think\Controller;
        use app\index\model\User;
        use think\Loader;
        class Index extends Controller{
            public function index(){
                $res = User::get(2);
                $user = new User;
                $res = $user::get(3);
                $user = Loader::model("User");
                $user = model("User");
                $res = $user::get(6);
                $res = $res->toArray();
                dump($res);
            }
        }


    查看全部
    0 采集 收起 来源:什么是模型

    2018-10-29

  • 链式操作方法

    查看全部
    0 采集 收起 来源:链式操作

    2018-10-29

  • $sql = $db->where('id','exp','not in (1,2,3)')->bulidSql();


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

    2018-10-29

  • eq  =    neq <>    lt <    elt <=    gt >    egt >=    between  notbetween    in    not in

    $sql = $db->where("id",'lt','3')->buildSql();

    $sql = $db->where('id','between','3,4')->buildSql();

    $sql = $db->where('id','in',[1,2,3,41])->bulidSql();//in和between第三个参数可为数组或者字符串


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

    2018-10-29

  • $db->where()->delete();

    $db->delete($id);

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

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

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

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

    查看全部
  • $db = Db::name(tablename);

    $db->insert([]);返回插入记录行数;

    $db->insertGetId([]);返回插入的自增ID;

    $db->insertAll([[],[]]);返回批量插入数据成功的行数;

    查看全部
    0 采集 收起 来源:添加数据

    2018-10-29


  • <?php
    namespace app\index\controller;
    use think\Controller;
    use think\Db;
    class Index extends Controller{  
        public function index(){
            dump(Config('database'));
            $res = Db::connect();
            $res = Db::connect([
                'type'=>'mysql',
                'hostname'=>'127.0.0.1',
                'database'=>'course',
                'usename'=>'root',
                'password'=>'root_pw',
                'hostport'=>'3306',
                'charset'=>'utf8',
                'prefix'=>''
            ]);
            $res=Db::connect('mysql://root:root@127.0.0.1:3306/course#utf8');
            dump($res);
        }

    }

    查看全部
  • find返回的是一维数组,DB::name('表名'),DB::table('表全名'),db()助手函数第三个参数为false防止重新实例化

    查看全部

举报

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

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