//模型中的相关代码
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模型的更多相关文章

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

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

  2. Eloquent ORM模型中添加自定义值

    我们都知道通过Laravel中数据库查询出来的模型对象都是基于数据库字段,今天给大家展示一个 Laravel Eloquent ORM 模型特性-附加值不存在于数据表中. 举个简单的栗子,一篇文章(p ...

  3. Laravel 数据库操作 Eloquent ORM

    laravel 操作数据库一般都使用它的Eloquent ORM才操作 建立模型 <?php namespace App; use Illuminate\Database\Eloquent\Mo ...

  4. laravel 5.1 使用Eloquent ORM 操作实例

    Laravel 的 Eloquent ORM 提供了更优雅的ActiveRecord 实现来和数据库的互动. 每个数据库表对应一个模型文件. 数据库配置 .env文件(也可以直接修改config/da ...

  5. PHP数据库操作:使用ORM

    之前我发了一篇博文PHP数据库操作:从MySQL原生API到PDO,向大家展示PHP是如何使用MySQL原生API.MySQLi面向过程.MySQLi面向对象.PDO操作MySQL数据库的.本文介绍如 ...

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

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

  7. ThinkPHP 学习笔记 ( 三 ) 数据库操作之数据表模型和基础模型 ( Model )

    //TP 恶补ing... 一.定义数据表模型 1.模型映射 要测试数据库是否正常连接,最直接的办法就是在当前控制器中实例化数据表,然后使用 dump 函数输出,查看数据库的链接状态.代码: publ ...

  8. ThinkPHP 数据库操作之数据表模型和基础模型 ( Model )

    一.定义数据表模型 1.模型映射 要测试数据库是否正常连接,最直接的办法就是在当前控制器中实例化数据表,然后使用 dump 函数输出,查看数据库的链接状态.代码: public function te ...

  9. laravel 数据库操作

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

随机推荐

  1. Airbnb:别抵制我,宝宝要过 10 岁生日

    今日导读 喜欢旅游的你,一定听说或使用过 airbnb(爱彼迎),在出发前打开它,总是能通过它开始一段奇妙的旅行.可是最近,就在这个打着“共享家”概念的服务型网站正迎来十周年之际,它却遭到了很多国家的 ...

  2. javaEE(5)_Cookie和Session

    一.会话 1.什么是会话?会话可简单理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话.类似打电话一样.2.会话过程中要解决的一些问题?每个用户 ...

  3. NOIP 2017 图书管理员

    题目描述 图书馆中每本书都有一个图书编码,可以用于快速检索图书,这个图书编码是一个 正整数. 每位借书的读者手中有一个需求码,这个需求码也是一个正整数.如果一本书的图 书编码恰好以读者的需求码结尾,那 ...

  4. bzoj5183 [Baltic2016]Park

    题目描述: bz luogu 题解: 把坐标系看反了持续$WA$系列. 对偶图+并查集维护. 先处理出树对树.树对墙的空隙,然后把人和空隙按从小到大排序. 用并查集维护四面墙之间是否能互相隔断. 代码 ...

  5. 【数论】贝壳找房计数比赛&&祭facinv

    震惊!阶乘逆元处理背后竟有如此玄机…… 题目描述 贝壳找房举办了一场计数比赛,比赛题目如下. 给一个字符串 s 和字符串 t,求出 s 的所有去重全排列中 t 出现的次数.比如aab的去重全排列为aa ...

  6. [LUOGU] P2679 子串

    一开始用一个f数组转移,发现不太对,状态有重叠部分 f[i][j][k]表示考虑了s的前i位,匹配到t的第j位,用了k个子串,且s的第i位必选 g[i][j][k]表示考虑了s的前i位,匹配到t的第j ...

  7. centos7内核优化

    #sysctl -p 参数: net.ipv6.conf.all.disable_ipv6 = 1net.ipv6.conf.default.disable_ipv6 = 1net.ipv4.icmp ...

  8. netfilter 和 iptables

    http://blog.chinaunix.net/uid/23069658/cid--1-list-4.html 洞悉linux下的Netfilter&iptables  系列,有一到十六, ...

  9. 【curl】【php】curl报错,错误代码77,CURLE_SSL_CACERT_BADFILE (77)解决方法

    CURLE_SSL_CACERT_BADFILE (77) - 读取 SSL CA 证书时遇到问题(可能是路径错误或访问权限问题) 在微信接口相关开发时容易出现此问题 这一般是因为服务更新了相关的软件 ...

  10. centos 7.3安装教程

    进入安装初始化界面 等待检查完就可以进入安装了,不想等待的按ESC退出,没关系的 语言这里我们推荐使用英文: 然后点击Continue继续 选择-系统SYSTEM-安装位置INSTALLTION DE ...