1.添加数据

      1.1添加一条数据

$user           = new User;
$user->name = 'thinkphp';
$user->email = 'thinkphp@qq.com';
$user->save();
$user = new User;
$user->save([
'name' => 'thinkphp',
'email' => 'thinkphp@qq.com'
]);

1.2过滤非数据表字段的数据

$user = new User;
// 过滤post数组中的非数据表字段数据
$user->allowField(true)->save($_POST);

 1.3指定某些字段数据

$user = new User;
// post数组中只有name和email字段会写入
$user->allowField(['name','email'])->save($_POST);

 1.4添加多条数据

$user = new User;
$list = [
['name'=>'thinkphp','email'=>'thinkphp@qq.com'],
['name'=>'onethink','email'=>'onethink@qq.com']
];
$user->saveAll($list);

1.5静态方法 

$user = User::create([
'name' => 'thinkphp',
'email' => 'thinkphp@qq.com'
]);
echo $user->name;
echo $user->email;
echo $user->id; // 获取自增ID

2.更新数据

          2.1查找并更新

$user = User::get(1);
$user->name = 'thinkphp';
$user->email = 'thinkphp@qq.com';
$user->save();

2.2直接更新数据

$user = new User;
// save方法第二个参数为更新条件
$user->save([
'name' => 'thinkphp',
'email' => 'thinkphp@qq.com'
],['id' => 1]);

 2.3 过滤非数据表字段

$user = new User;
// 过滤post数组中的非数据表字段数据
$user->allowField(true)->save($_POST,['id' => 1]);

2.4指定某些字段

$user = new User();
// post数组中只有name和email字段会写入
$user->allowField(['name','email'])->save($_POST, ['id' => 1]);

            2.5批量更新数据

$user = new User;
$list = [
['id'=>1, 'name'=>'thinkphp', 'email'=>'thinkphp@qq.com'],
['id'=>2, 'name'=>'onethink', 'email'=>'onethink@qq.com']
];
$user->saveAll($list);

2.6静态方法

User::where('id', 1)
->update(['name' => 'thinkphp']);

2.7自动识别

            2.7.1显示更新数据

// 实例化模型
$user = new User;
// 显式指定更新数据操作
$user->isUpdate(true)
->save(['id' => 1, 'name' => 'thinkphp']);

2.7.2显示新增数据

$user = User::get(1);
$user->name = 'thinkphp';
// 显式指定当前操作为新增操作
$user->isUpdate(false)->save();

3.删除数据

            3.1删除当前模型

$user = User::get(1);
$user->delete();

3.2根据主键删除

User::destroy(1);
// 支持批量删除多个数据
User::destroy('1,2,3');
// 或者
User::destroy([1,2,3]);

 3.3条件删除

User::destroy(function($query){
$query->where('id','>',10);
});

4.查询数据

              4.1获取单个数据

// 取出主键为1的数据
$user = User::get(1);
echo $user->name; // 使用查询构造器查询满足条件的数据
$user = User::where('name', 'thinkphp')->find();
echo $user->name;

 4.2获取多个数据

// 根据主键获取多个数据
$list = User::all('1,2,3');
// 或者使用数组
$list = User::all([1,2,3]);
// 对数据集进行遍历操作
foreach($list as $key=>$user){
echo $user->name;
}
// 使用查询构造器查询
$list = User::where('status', 1)->limit(3)->order('id', 'asc')->select();
foreach($list as $key=>$user){
echo $user->name;
}

  4.3获取某个字段或者某个列的值

// 获取某个用户的积分
User::where('id',10)->value('score');
// 获取某个列的所有值
User::where('status',1)->column('name');
// 以id为索引
User::where('status',1)->column('name','id');

最新文章

  1. 学习Spring——两个你熟悉的不能再熟悉的场景使用
  2. [New Portal]Windows Azure Virtual Machine (18) Azure Virtual Machine内部IP和外部IP
  3. 使用 smartupload 上传图片
  4. Linux系统编程--文件IO操作
  5. 隐藏路由器的WIFI信号,防蹭网
  6. Linux xargs命令
  7. 给Mac下的iTerm2增加配色
  8. 20140912-.NET平台技术思维导图
  9. python post中文引发的不传递,及乱码问题
  10. c语言全局变量
  11. android系统平台显示驱动开发简要:LCD常用接口篇『二』
  12. 代码版本管理/SVN/Git
  13. (转) Android的Window类
  14. Android 仿PhotoShop调色板应用(四) 不同区域颜色选择的颜色生成响应
  15. 文档对象模型操作xml文档
  16. 记一次SAP新业务开发项目
  17. 在Linux中使用线程
  18. vue项目 构建 打包 发布 三部曲
  19. AWT的应用
  20. Vue初接触 stage1

热门文章

  1. HTML字符实体(Character Entities)与 转义字符串(Escape Sequence)(转)
  2. Java中的compareTo()方法,compareToIgnoreCase()方法
  3. Python爬虫之Selenium的常用方法
  4. 【高可用架构】借助Envoy工具发布项目到多台服务器
  5. centos 6.x 系统基础优化简版
  6. 小白学 Python 爬虫(12):urllib 基础使用(二)
  7. CSS自定义默认样式
  8. webpack4.0各个击破(6)—— Loader篇【华为云技术分享】
  9. 转:Java transient关键字使用小记
  10. php权重分配