laravel 操作数据库一般都使用它的Eloquent ORM才操作

建立模型
<?php
namespace App; use Illuminate\Database\Eloquent\Model; class Student extends Model
{
//指定表名 默认 模型名的复数
protected $table='student'; //指定主键 默认主键 为ID
protected $primaryKey='id'; //指定允许批量赋值的字段
protected $fillable=['name','age'];
//指定不允许批量赋值的字段
protected $guarded=[]; //是否维护时间戳 默认维护
//$timestamps=falst 不维护
public $timestamps=true; //维护时间的时候保存时间戳
protected function getDateFormat()
{
return time(); // TODO: Change the autogenerated stub
} //查询的时候返回时间戳
protected function asDateTime($value)
{
// return parent::asDateTime($value); // TODO: Change the autogenerated stub
return $value;
}
}

  

ORM 查询
//all() 查询所有数据  查询数据为集合
$students=Student::all();
dd($students); //根据主键查询 查询一条数据
$student=Student::find(2);
dd($student); //findOrFail() 根据主键查询 如果没有查到 报错
$student=Student::findOrFail(2);
dd($student); //get() 查询所有数据
$students=Student::get();
dd($students); //first() 查询第一条
$students=Student::where('id','>','1')->orderBy('age','desc')->first();
dd($students); //chunk() 每次查询一定条数
Student::chunk(2,function($students){
var_dump($students);
}); //聚合函数
//count() 条数
$num = Student::count();
var_dump($num); //max() 查询最大值
$max=Student::where('id','>',1)->max('age');
var_dump($max);
添加
//新增
//save()
$student=new Student();
$student->name='vbb';
$student->age=34;
$rs=$student->save();
dd($rs); //create()
$rs=Student::create([
'name'=>'momo',
'age'=>23
]);
dd($rs); //firstOrCreate()以属性查询数据 如果没有 新建数据
$rs=Student::firstOrCreate(
['name'=>'vbb4']
); //firstOrNew() 以属性查询数据 如果没有 新建实例 如果想保存调用save()
$rs=Student::firstOrNew(
['name'=>'vbb4']
);
$bool=$rs->save(); dd($rs);
更新
//更新
//通过模型更新数据
$student=Student::find(2);
$student->age=2;
$bool=$student->save();
var_dump($bool); //批量更新
$num=Student::where('id','>',5)->update(
['age'=>41]
);
var_dump($num);
删除
//删除
//通过模型删除
$student=Student::find(2);
$bool=$student->delete();
var_dump($bool); //通过主键删除
$num=Student::destroy(3,4,5);
$num=Student::destroy([3,4,5]);
var_dump($num); //删除指定条件
$num=Student::where('id','>',7)->delete();
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. 53_并发编程-线程-GIL锁

    一.GIL - 全局解释器锁   有了GIL的存在,同一时刻同一进程中只有一个线程被执行:由于线程不能使用cpu多核,可以开多个进程实现线程的并发,因为每个进程都会含有一个线程,每个进程都有自己的GI ...

  2. h5面试题

    一.匿名函数实现阶乘第一种写法: 43 > F = fun(Func, 1) -> 1;43 > (Func, N) -> N * Func(Func, N - 1) end. ...

  3. JavaScript使用浏览器内置XMLHttpRequest对象执行Ajax请求

    所有现代浏览器均支持 XMLHttpRequest 对象(IE5 和 IE6 使用 ActiveXObject).XMLHttpRequest 用于在后台与服务器交换数据.这意味着可以在不重新加载整个 ...

  4. 微信小程序实现标签页滑块效果

    微信小程序实现标签页滑块效果 小程序完整代码: wxml: <view class="swiper-tab"> <view class="swiper- ...

  5. Kali学习笔记3:TCPDUMP详细使用方法

    Kali自带Wireshark,但一般的Linux系统是不带的,需要自行下载,并且过程略复杂 而纯字符界面的Linux系统无法使用Wireshark 但是,所有Linux系统都会安装TCPDUMP:一 ...

  6. 深入理解java反射原理

    反射是java的一个特性,这一特性也使得它给了广大的第三方框架和开发过者很大的想像空间. 通过反射,java可以动态的加载未知的外部配置对象,临时生成字节码进行加载使用,从而使代码更灵活!可以极大地提 ...

  7. 关于PHP中拿到MySQL中数据中的中文在网页上显示为?的解决办法!

    问题: 解决方案: 在PHP 代码中 输入 : //$connection 是链接数据库返回的变量名: mysqli_set_charset($connection,'utf8'); 完美解决:

  8. Redis(2)---数据持久化

    数据持久化 Redis有两种持久化的方式:快照(RDB文件)和追加式文件(AOF文件) (1)RDB持久化方式是在一个特定的间隔保存某个时间点的一个数据快照.(默认模式) (2)以日志的形式来记录每个 ...

  9. IntelliJ IDEA 注册码 (秘钥)

    给大家提供一个IDEA的注册码,最晚到2018年2月到期. 如下,展开复制即可: C0FHYYCJ22-eyJsaWNlbnNlSWQiOiJDMEZIWVlDSjIyIiwibGljZW5zZWVO ...

  10. VisualVM远程连接Tomcat

    最近项目已经要提测了,有时间来考虑一些性能上的事儿了.之前拜读过<深入理解java虚拟机>,只可惜当时功力尚浅,有些东西还是不太懂,而且应用场景也没有,所以借这次机会看看.当然了,这次并不 ...