1. laravel 操作数据库一般都使用它的Eloquent ORM才操作
  2.  
  3. 建立模型
  1. <?php
  2. namespace App;
  3.  
  4. use Illuminate\Database\Eloquent\Model;
  5.  
  6. class Student extends Model
  7. {
  8. //指定表名 默认 模型名的复数
  9. protected $table='student';
  10.  
  11. //指定主键 默认主键 为ID
  12. protected $primaryKey='id';
  13.  
  14. //指定允许批量赋值的字段
  15. protected $fillable=['name','age'];
  16. //指定不允许批量赋值的字段
  17. protected $guarded=[];
  18.  
  19. //是否维护时间戳 默认维护
  20. //$timestamps=falst 不维护
  21. public $timestamps=true;
  22.  
  23. //维护时间的时候保存时间戳
  24. protected function getDateFormat()
  25. {
  26. return time(); // TODO: Change the autogenerated stub
  27. }
  28.  
  29. //查询的时候返回时间戳
  30. protected function asDateTime($value)
  31. {
  32. // return parent::asDateTime($value); // TODO: Change the autogenerated stub
  33. return $value;
  34. }
  35. }

  

  1. ORM 查询
  1. //all() 查询所有数据 查询数据为集合
  2. $students=Student::all();
  3. dd($students);
  4.  
  5. //根据主键查询 查询一条数据
  6. $student=Student::find(2);
  7. dd($student);
  8.  
  9. //findOrFail() 根据主键查询 如果没有查到 报错
  10. $student=Student::findOrFail(2);
  11. dd($student);
  12.  
  13. //get() 查询所有数据
  14. $students=Student::get();
  15. dd($students);
  16.  
  17. //first() 查询第一条
  18. $students=Student::where('id','>','1')->orderBy('age','desc')->first();
  19. dd($students);
  20.  
  21. //chunk() 每次查询一定条数
  22. Student::chunk(2,function($students){
  23. var_dump($students);
  24. });
  25.  
  26. //聚合函数
  27. //count() 条数
  28. $num = Student::count();
  29. var_dump($num);
  30.  
  31. //max() 查询最大值
  32. $max=Student::where('id','>',1)->max('age');
  33. var_dump($max);
  1. 添加
  1. //新增
  2. //save()
  3. $student=new Student();
  4. $student->name='vbb';
  5. $student->age=34;
  6. $rs=$student->save();
  7. dd($rs);
  8.  
  9. //create()
  10. $rs=Student::create([
  11. 'name'=>'momo',
  12. 'age'=>23
  13. ]);
  14. dd($rs);
  15.  
  16. //firstOrCreate()以属性查询数据 如果没有 新建数据
  17. $rs=Student::firstOrCreate(
  18. ['name'=>'vbb4']
  19. );
  20.  
  21. //firstOrNew() 以属性查询数据 如果没有 新建实例 如果想保存调用save()
  22. $rs=Student::firstOrNew(
  23. ['name'=>'vbb4']
  24. );
  25. $bool=$rs->save();
  26.  
  27. dd($rs);
  1. 更新
  1. //更新
  2. //通过模型更新数据
  3. $student=Student::find(2);
  4. $student->age=2;
  5. $bool=$student->save();
  6. var_dump($bool);
  7.  
  8. //批量更新
  9. $num=Student::where('id','>',5)->update(
  10. ['age'=>41]
  11. );
  12. var_dump($num);
  1. 删除
  1. //删除
  2. //通过模型删除
  3. $student=Student::find(2);
  4. $bool=$student->delete();
  5. var_dump($bool);
  6.  
  7. //通过主键删除
  8. $num=Student::destroy(3,4,5);
  9. $num=Student::destroy([3,4,5]);
  10. var_dump($num);
  11.  
  12. //删除指定条件
  13. $num=Student::where('id','>',7)->delete();
  14. var_dump($num);

Laravel 数据库操作 Eloquent ORM的更多相关文章

  1. Laravel数据库操作 Eloquent ORM

    模型首先在App目录下建立student的文件夹 里面放上 Student.php 且需要继承基类Model //允许批量赋值的字段// protected $fillable = ['name',' ...

  2. Laravel 学习笔记之数据库操作——Eloquent ORM

    1. 时间戳 默认情况下在使用ORM操作数据库进行添加.修改数据时, created_at 和 updated_at列会自动存在于数据表中,并显示的是 ‘2017’格式,如果想以 Unix时间戳格式存 ...

  3. [转]Laravel 4之Eloquent ORM

    Laravel 4之Eloquent ORM http://dingjiannan.com/2013/laravel-eloquent/ 定义Eloquent模型 模型通常放在app/models目录 ...

  4. Laravel—数据库操作与Eloquent模型使用总结

    数据库操作 执行原生SQL //查询 $emp = DB::select('select * from employees where emp_no = 1'); $emp = DB::select( ...

  5. [ Laravel 5.6 文档 ]laravel数据库操作分页(自定义分页实现和自定义分页样式)

    简介 在其他框架中,分页可能是件非常痛苦的事,Laravel 让这件事变得简单.易于上手.Laravel 的分页器与查询构建器和 Eloquent ORM 集成在一起,并开箱提供方便的.易于使用的.基 ...

  6. laravel 数据库操作

    1 配置信息 1.1配置目录: config/database.php 1.2配置多个数据库 //默认的数据库 'mysql' => [ 'driver' => 'mysql', 'hos ...

  7. laravel 数据库操作之 DB facade & 查询构造器 & Eloquent ORM

    <?php namespace App\Http\Controllers; use App\Student; use Illuminate\Support\Facades\DB; class S ...

  8. Laravel 数据库操作之Eloquent ORM模型

    //模型中的相关代码 namespace App; use Illuminate\Database\Eloquent\Model; class Student extends Model{ //默认对 ...

  9. laravel数据库操作sql语句用Eloquent ORM来构造

    现在有查询语句: SELECT users.sNmame, users.iCreateTime, users_ext.iAge, users_ext.sSex FROM users LEFT JOIN ...

随机推荐

  1. mysql 连接 的drive 不一样

          DB_DRIVER 为任意名 com.mysql.jdbc.Driver 是 mysql-connector-java 5(jar包)com.mysql.cj.jdbc.Driver 是 ...

  2. Java学到什么程度才能叫精通?

      ​ 把下面这些内容掌握以后,你就可以自诩精通Java后端了. 1 计算机基础 这部分内容是计算机相关专业同学的课程,但是非科班的小伙伴(譬如在下)就需要花时间恶补了. 特别 是计算机网络,操作系统 ...

  3. 5个相见恨晚的Linux命令

    阅读本文大概需要 2.4 分钟. 作者 | 李火清 转载自[CU技术社区] 编者按:说到Linux命令相信大家都不陌生,就连前端现在也要经常在 terminal 敲一些 node,gulp等命令,本文 ...

  4. Python面向对象5:类的常用魔术方法

    魔术方法就是不需要人为调用的方法,基本是在特定的时刻自动触发- 魔术方法的统一的特征,方法名被前后各两个下滑线包裹 - 操作类 - `__init__`: 构造函数 - `__new__`: 对象实例 ...

  5. C 线性表的链式存储实现及插入、删除等操作示例

    一.链式存储的优势 线性表的存储可以通过顺序存储或链式存储实现,其中顺序存储基于数组实现(见本人上一篇博客),在进行插入删除等操作时,需对表内某一部分元素逐个移动,效率较低.而链式结构不依赖于地址连续 ...

  6. 关于DB Link

    概述 DB Link是一个定义了本地数据库到远程数据库路径的对象,是schema object,它是单向连接 通过DB Link可查询remote数据库的对象及运行其程序 在分布式环境里,DB Lin ...

  7. 使用QNetworkAccessManager实现Qt的FTP下载服务

    从Qt5开始,官方推荐使用QNetworkAccessManager进行Ftp和http的上传和下载操作:Qt4中使用的QtFtp模块即作为独立模块,需要自己从github上进行下载编译后使用(官方地 ...

  8. Python爬虫目录

    Python爬虫目录 工具使用 Pycharm 连接Linux 远程开发 mongodb在windows下安装启动 爬虫抓包工具Fiddle设置 爬虫抓包工具Charles设置 爬虫工具fiddle在 ...

  9. tensorflow 1.0 学习:模型的保存与恢复(Saver)

    将训练好的模型参数保存起来,以便以后进行验证或测试,这是我们经常要做的事情.tf里面提供模型保存的是tf.train.Saver()模块. 模型保存,先要创建一个Saver对象:如 saver=tf. ...

  10. Spring boot集成spring-boot-starter-data-jpa环境搭建

    1.创建Spring boot项目 2.保存等待构建完成 3.增加spring-boot-starter-data-jpa.内存数据库依赖包hsqldb <!-- 添加data jpa依赖 -- ...