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 ...
随机推荐
- 打开Python IDLE时的错误:Subprocess Startup Error
比较常见的是这个 方法1: 修改[Python目录]\Lib\idlelib\PyShell.py文件,在1300行附近,将def main():函数下面 use_subprocess = True ...
- MQTT入门篇
物联网(Internet of Things,IoT)最近曝光率越来越高.虽然HTTP是网页的事实标准,不过机器之间(Machine-to-Machine,M2M)的大规模沟通需要不同的模式:之前的请 ...
- Vue-router导航问题
现在的项目,用的是Vue,但当时用的时候,是边学边做的,上手确实比较简单,但是已经用Vue写了一个项目了,但是感觉对Vue的还是不是很深刻,用的都是比较简单的API, 现在回头看看,有些东西,非常的精 ...
- sql server 备份与恢复系列五 完整模式下的备份与还原
一.概述 前面介绍了简单恢复模式和大容量恢复模式,这篇继续写完整恢复模式下的备份与还原.在完整恢复模式里最大的优点是只要能成功备份尾日志,就可以还原到日志备份内包含的任何时点("时点恢复&q ...
- sql server 性能调优之 资源等待 LCk
一. 概述 这次介绍实例级别资源等待LCK类型锁的等待时间,关于LCK锁的介绍可参考 “sql server 锁与事务拨云见日”.下面还是使用sys.dm_os_wait_stats 来查看,并找出 ...
- leetcode — simplify-path
import java.util.Stack; /** * * Source : https://oj.leetcode.com/problems/simplify-path/ * * * * Giv ...
- Spring Boot (三)模板引擎FreeMarker集成
一.FreeMaker介绍 FreeMarker是一款免费的Java模板引擎,是一种基于模板和数据生成文本(HMLT.电子邮件.配置文件.源代码等)的工具,它不是面向最终用户的,而是一款程序员使用的组 ...
- 浅谈Quartz定时任务调度
一 开发概述 对于具有一定规模的大多数企业来说,存在着这样一种需求:存在某个或某些任务,需要系统定期,自动地执行,然而,对大多数企业来说,该技术的实现,却是他们面临的一大难点和挑战. 对于大部分企 ...
- ZooKeeper系列(3):znode说明和znode状态
ZooKeeper系列文章:https://www.cnblogs.com/f-ck-need-u/p/7576137.html#zk 1.znode znode的官方说明:http://zookee ...
- python字符串(string)方法整理
python中字符串对象提供了很多方法来操作字符串,功能相当丰富. print(dir(str)) [..........'capitalize', 'casefold', 'center', 'co ...