Laravel 数据库操作 Eloquent ORM
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的更多相关文章
- Laravel数据库操作 Eloquent ORM
模型首先在App目录下建立student的文件夹 里面放上 Student.php 且需要继承基类Model //允许批量赋值的字段// protected $fillable = ['name',' ...
- Laravel 学习笔记之数据库操作——Eloquent ORM
1. 时间戳 默认情况下在使用ORM操作数据库进行添加.修改数据时, created_at 和 updated_at列会自动存在于数据表中,并显示的是 ‘2017’格式,如果想以 Unix时间戳格式存 ...
- [转]Laravel 4之Eloquent ORM
Laravel 4之Eloquent ORM http://dingjiannan.com/2013/laravel-eloquent/ 定义Eloquent模型 模型通常放在app/models目录 ...
- Laravel—数据库操作与Eloquent模型使用总结
数据库操作 执行原生SQL //查询 $emp = DB::select('select * from employees where emp_no = 1'); $emp = DB::select( ...
- [ Laravel 5.6 文档 ]laravel数据库操作分页(自定义分页实现和自定义分页样式)
简介 在其他框架中,分页可能是件非常痛苦的事,Laravel 让这件事变得简单.易于上手.Laravel 的分页器与查询构建器和 Eloquent ORM 集成在一起,并开箱提供方便的.易于使用的.基 ...
- laravel 数据库操作
1 配置信息 1.1配置目录: config/database.php 1.2配置多个数据库 //默认的数据库 'mysql' => [ 'driver' => 'mysql', 'hos ...
- laravel 数据库操作之 DB facade & 查询构造器 & Eloquent ORM
<?php namespace App\Http\Controllers; use App\Student; use Illuminate\Support\Facades\DB; class S ...
- Laravel 数据库操作之Eloquent ORM模型
//模型中的相关代码 namespace App; use Illuminate\Database\Eloquent\Model; class Student extends Model{ //默认对 ...
- laravel数据库操作sql语句用Eloquent ORM来构造
现在有查询语句: SELECT users.sNmame, users.iCreateTime, users_ext.iAge, users_ext.sSex FROM users LEFT JOIN ...
随机推荐
- JVM指令集
指令集,其实就是一系列指令的集合.例如我们需要给一个局部变量赋予1这个值,即这个动作:int a = 1; 在我们看来,这很简单,但对于机器来说需要很多个动作.所以Java虚拟机指令集就是将这些常用的 ...
- 2016 安全圈玩起了直播,“学霸”带你玩转CTF_i春秋学院
2016安全圈玩起了直播,“学霸”带你玩转CTF_i春秋学院 从小就很羡慕学霸的脑子,总有很简单很便捷的方法解出难题来,所以对于他们的笔记总会疯狂地想占有和copy.那么,对CTF大神自己总结出来的赛 ...
- ThreadLocal类的简单使用
1.概述变量值的共享可以使用public 是static 变量的形式,所有的线程都使用同一个public static 变量. 如实现线程内的共享变量,jdk提供了ThreadLocal来解决这个问题 ...
- vue组件推荐
Vue 是一个轻巧.高性能.可组件化的MVVM库,API简洁明了,上手快.从Vue推出以来,得到众多Web开发者的认可.在公司的Web前端项目开发中,多个项目采用基于Vue的UI组件框架开发,并投入正 ...
- 使用CSS样式的三种方式
外部样式表 当样式需要被应用到很多页面的时候,外部样式表将是理想的选择.使用外部样式表,你就可以通过更改一个文件来改变整个站点的外观. 内部样式表 当单个文件需要特别样式时,就可以使用内部样式表.你可 ...
- ffmpeg常用转换命令
音频转换: 1.转换amr到mp3: ffmpeg -i shenhuxi.amr amr2mp3.mp3 2.转换amr到wav: ffmpeg -acodec libamr_nb -i shenh ...
- ARM debian的图形界面安装
这里图形界面的安装比较简单,启动系统后,登录到root账户,首先要执行更新源的命令:apt-get update 然后直接执行下面的动作: 直接安装LXDE即可: 指令: apt-get insta ...
- python(leetcode)-344反转字符串
编写一个函数,其作用是将输入的字符串反转过来.输入字符串以字符数组 char[] 的形式给出. 不要给另外的数组分配额外的空间,你必须原地修改输入数组.使用 O(1) 的额外空间解决这一问题. 你可以 ...
- 纯手写SpringMVC框架,用注解实现springmvc过程
闲话不多说,直接上代码! 1.第一步,首先搭建如下架构,其中,annotation中放置自己编写的注解,主要包括service controller qualifier RequestMapping ...
- XML技术思想
百科名片: 可扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语 ...