thinkphp model
模型样板
<?php namespace app\model; use think\Db; use think\Model; class Admin extends Model { //表名 protected $table = 'admin'; // 主键 protected $pk = 'id'; // 设置当前模型的数据库连接 protected $connection = [ // 数据库类型 'type' => 'mysql', // 服务器地址 'hostname' => '127.0.0.1', // 数据库名 'database' => 'rongShop', // 数据库用户名 'username' => 'jiang', // 数据库密码 'password' => '1', // 数据库编码默认采用utf8 'charset' => 'utf8', // 数据库表前缀 'prefix' => '', // 数据库调试模式 'debug' => false, ]; // 重新设置数据表返回的属性名 protected static function base($query) { $query->field(['id' => 'adminId','password' => 'password', "name" => 'adminName', 'email' => 'email']); } }
查询
取出主键为1的数据 $user = User::get(1); echo $user->name; // 使用数组查询 $user = User::get(['name' => 'thinkphp']); // 使用闭包查询 $user = User::get(function($query){ $query->where('name', 'thinkphp'); }); echo $user->name;
取出多个数据:
// 根据主键获取多个数据 $list = User::all('1,2,3'); // 或者使用数组 $list = User::all([1,2,3]); foreach($list as $key=>$user){ echo $user->name; } // 使用数组查询 $list = User::all(['status'=>1]); // 使用闭包查询 $list = User::all(function($query){ $query->where('status', 1)->limit(3)->order('id', 'asc'); }); foreach($list as $key=>$user){ echo $user->name; }
获取某个字段或者某个列的值
// 获取某个用户的积分 User::where('id',10)->value('score'); // 获取某个列的所有值 User::where('status',1)->column('name'); // 以id为索引 User::where('status',1)->column('name','id'); User::where('status',1)->column('id,name'); // 同tp3的getField
$this::all(); //获取全部数据
dump($admin::find('6')); //6为要查询的主键的值, 当前语句获取主键等于6的元组数据
dump($admin::count()); // 统计表的元组个数 可以加表的列表当参数
插入
save(); //插入数据, 需要先对模型的全部域赋值才能插入
saveAll(list); //批量插入list可以为数组