Laravel 数据库操作之Eloquent ORM模型
//模型中的相关代码
namespace App;
use Illuminate\Database\Eloquent\Model;
class Student extends Model{
//默认对应的是模型复数,即students,如果不是,需要自己指定表名
protected $table = 'student';//指定表名
//默认主键是id,如果不是,需要指定
protected $primaryKey = 'id';
//自动维护时间戳
public $timestamps = true;
protected function getDateFormat()
{
return time();
}
//不格式化时间戳
protected function asDateTime($val)
{
return $val;
}
//指定允许批量赋值的字段
protected $fillable = ['name','age'];
//指定不允许批量赋值的字段
protected $guarded = ['name','age'];
}
//控制器的相关代码
//orm 使用模型查询
public function orm1(){ //all().返回模型的对象
$student = Student::all(); //find()
$student = Student::find(100); //findOrFail(),查找不到就报错
$student = Student::findOrFail(100); //get()
$student = Student::get(); //first()
$student = Student::where('id','>',10)
->orderBy('age','desc')
->first();
}
//orm 使用模型查询
public function orm2(){
//使用模型新增数据
$student = new Student();
$student->name = 'hello';
$student->age = 'hello';
$bool = $student->save();
var_dump($bool); //格式化日期
$student = Student::find(1);
echo date('Y-m-d H:i:s',$student->addtime); //使用模型的create方法新增数据,
$student = Student::create(['name'=>'haha','age'=>10]); //firstOrCreate,先查找,若没有则新增
$student = Student::firstOrCreate(['name'=>'haha']); //firstOrNew,先查找,若没有则返回实例,需要自行调用save新增
$student = Student::firstOrNew(['name'=>'haha']);
$bool = $student->save(); //通过模型更新数据
$student = Student::find(10);
$student->name = 'happy';
$bool = $student->save();
var_dump($bool); //批量更新,返回行数
$num = Student::where('id','>',10)->update(
['age'=>20]
);
var_dump($num); //通过模型删除,不存在会报错
$student = Student::find(10);
$bool = $student->delete();
var_dump($bool); //通过主键删除
$num=Student::destroy(10);
var_dump($num);
$num=Student::destroy([10,11,20]);
var_dump($num); $num=Student::where('id','>',20)->delete();
var_dump($num); }
Laravel 数据库操作之Eloquent ORM模型的更多相关文章
- Laravel—数据库操作与Eloquent模型使用总结
数据库操作 执行原生SQL //查询 $emp = DB::select('select * from employees where emp_no = 1'); $emp = DB::select( ...
- Eloquent ORM模型中添加自定义值
我们都知道通过Laravel中数据库查询出来的模型对象都是基于数据库字段,今天给大家展示一个 Laravel Eloquent ORM 模型特性-附加值不存在于数据表中. 举个简单的栗子,一篇文章(p ...
- Laravel 数据库操作 Eloquent ORM
laravel 操作数据库一般都使用它的Eloquent ORM才操作 建立模型 <?php namespace App; use Illuminate\Database\Eloquent\Mo ...
- laravel 5.1 使用Eloquent ORM 操作实例
Laravel 的 Eloquent ORM 提供了更优雅的ActiveRecord 实现来和数据库的互动. 每个数据库表对应一个模型文件. 数据库配置 .env文件(也可以直接修改config/da ...
- PHP数据库操作:使用ORM
之前我发了一篇博文PHP数据库操作:从MySQL原生API到PDO,向大家展示PHP是如何使用MySQL原生API.MySQLi面向过程.MySQLi面向对象.PDO操作MySQL数据库的.本文介绍如 ...
- [ Laravel 5.6 文档 ]laravel数据库操作分页(自定义分页实现和自定义分页样式)
简介 在其他框架中,分页可能是件非常痛苦的事,Laravel 让这件事变得简单.易于上手.Laravel 的分页器与查询构建器和 Eloquent ORM 集成在一起,并开箱提供方便的.易于使用的.基 ...
- ThinkPHP 学习笔记 ( 三 ) 数据库操作之数据表模型和基础模型 ( Model )
//TP 恶补ing... 一.定义数据表模型 1.模型映射 要测试数据库是否正常连接,最直接的办法就是在当前控制器中实例化数据表,然后使用 dump 函数输出,查看数据库的链接状态.代码: publ ...
- ThinkPHP 数据库操作之数据表模型和基础模型 ( Model )
一.定义数据表模型 1.模型映射 要测试数据库是否正常连接,最直接的办法就是在当前控制器中实例化数据表,然后使用 dump 函数输出,查看数据库的链接状态.代码: public function te ...
- laravel 数据库操作
1 配置信息 1.1配置目录: config/database.php 1.2配置多个数据库 //默认的数据库 'mysql' => [ 'driver' => 'mysql', 'hos ...
随机推荐
- mysql的备份与恢复详解
一.为什么要备份 在日常运维工作中,对于mysql数据库的备份是至关重要的!数据库对于网站的重要性使得我们对mysql数据的管理不容有失!然后,是人总难免会犯错误,说不定哪天大脑短路了来个误操作把数据 ...
- golang 强制重新全部编译
/home/用户名/.cache 删除缓存试试?? 修改的东西老失败 编译结果总不变 神奇了 go build -a -x -v加一句-a 强制重新编译.
- Java获取字符串里面的重复字符
public static void main(String[] args) { String word="天地玄黄宇宙洪荒" + "日月盈昃辰宿列张" + & ...
- js正则函数match、exec、test、search、replace、split使用集合
match 方法 使用正则表达式模式对字符串执行查找,并将包含查找的结果作为数组返回. stringObj.match(rgExp) 参数 stringObj 必选项.对其进行查找的 String 对 ...
- Fortran学习笔记2(变量声明)
常数的申明方式 变量初始化 等价申明EQUIALENCE 类型转化 自定义类型 KIND用法 常数的申明方式 程序中所有处理的数据,有些事固定不变的常数,如圆周率π和重力加速度G等. 此时,程序员可以 ...
- easyUI 之datagrid 在前端自定义排序
首先先来看一下,直接从后台读取数据并展示到前端的列表,后端传回的数据是“按商品ID倒序排列” 前端源代码 $('#good_tables').datagrid({ nowrap: true, auto ...
- Web框架之Django_09 重要组件(Django中间件、csrf跨站请求伪造)
摘要 Django中间件 csrf跨站请求伪造 一.Django中间件: 什么是中间件? 官方的说法:中间件是一个用来处理Django的请求和响应的框架级别的钩子.它是一个轻量.低级别的插件系统,用于 ...
- python--MySQL数据库初识
一 . MySQL安装 # 下载MySQL地址 https://dev.mysql.com/downloads # 要选稳定的,不要选最新的,稳定的就是半年以上没有出现过bug 现在5.6.43为绝大 ...
- 数据结构( Pyhon 语言描述 ) — —第10章:树
树的概览 树是层级式的集合 树中最顶端的节点叫做根 个或多个后继(子节点). 没有子节点的节点叫做叶子节点 拥有子节点的节点叫做内部节点 ,其子节点位于层级1,依次类推.一个空树的层级为 -1 树的术 ...
- Python中的序列化以及pickle和json模块介绍
Python中的序列化指的是在程序运行期间,变量都是在内存中保存着的,如果我们想保留一些运行中的变量值,就可以使用序列化操作把变量内容从内存保存到磁盘中,在Python中这个操作叫pickling,等 ...