多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
#### 1.命令行创建 1)切换到项目根目录 php think make:model app\index\model\user #### 2.注意 1)数据模型的名字建议与数据库表名一致 2)如果数据库表名与模型名不一致,可以设置表名 protected $table="user"; 3)如果表名带下划线(yzm_user),数据模型名则为(YzmUser); 4)如果设置了表前缀,默认自动添加表前缀 #### 3.模型的实例化 1)调用静态方法 //导入User use \app\index\model\User; $res = User::get(1); dump($res->toArray()); 2)实例化数据模型 $user = new User(); $res = $user::get(2); dump($res->toArray()); 3)使用loader类 use \think\Loader; $user = Loader::moder('user'); $res = $user::get(3); dump($res->toArray()); 4)使用助手函数 $user = model('user'); $res = $user::get(4); dump($res->toArray); #### 4.模型的查询 1)获取单条数据 ![](https://box.kancloud.cn/f45909c7d20e5c7601d7adf46d6de257_1153x454.png) //get方法 //使用数字,默认主键 $res = User::get(1); //使用数组,默认查找用户名 $res = User::get(['name'=>'zhangsan']); //使用闭包函数 $res = User::get(function($query){ $query->where('id',1); }); //find方法 $res = User::where('id',2)->find(); 2)查询多条数据 ![](https://box.kancloud.cn/8eda2b5bf4f46c8d47fc341e1cb07f23_736x579.png) //查询所有数据 $res = User::all(); //根据字符串查询 $res = User::all('1,2,3'); //根据数组查询 $res = User::all([1,2,3]); $res = User::all(['status'=>1]); //使用闭包查询 $res = User::all(function($query){ $query->where('status',1)->limit(3)->order('id,'desc'); }); //打印查询结果 foreach($res as $key=>$val){ //结果为对象,转为数组 dump($val->toArray()); } //实例化模型后调用查询方法 $user = new User(); $res = $user->where('name','thinkphp') ->limit(10) ->order('id','desc') ->select(); //获取某个值 User::where('id',10)->value('age'); //获取某一列的所有值 User ::where('status',1)->column('name'); //以id为索引 User::where('status',1)->column('name','id'); User::where('status',1)->column('id,name'); #### 动态查询 //根据name字段查询 $user = User::getByName('zhangsan'); //根据 email查询 $user = User::getByEmail('123456@qq.com'); #### 通过query类查询 User::where('id','>',10)->select(); User::where('name','zhangsan')->find();