控制器方法:

//Eloquent ORM的使用:
public function orm1()
{
//all()
/*$students=Student::all();
dd($students);
*/ //find();
/*$student=Student::find(1001);
dd($student);*/ //findOrFail()
/*$student=Student::findOrFail(1008);
dd($student);*/ //查询构造器在ORM中的使用:
/*$students=Student::get();
dd($students);*/ //first()
/*$students=Student::where('id','>','1001')
->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','>',1001)->max('age');
var_dump($max);*/
} //ORM中的新增、自定义时间戳及批量赋值:
public function orm2()
{
//使用模型新增数据:
/*$student = new Student();
$student->name = "笑笑";
$student->age = 22;
$bool =$student->save();
dd($student);*/ /*$student = Student::find(1007);
echo $student->created_at;*/ /*$student = Student::find(1007);
//自己格式化时间戳
echo date('Y-m-d H:i:s', $student->created_at);*/ //使用模型的Create方法新增数据:
/*$student=Student::create(
['name'=>'imooc','age'=>18]
);
var_dump($student);*/ //firstOrCreate() 以属性查找用户,若没有则新增,并取得新的实例:
/*$student= Student::firstOrCreate(
['name'=>'imoocs']
);
dd($student);*/ //firstOrNew()以属性查找用户,若没有则建立新的实例。需要保存的,自己调用save
$student = Student::firstOrNew(
['name' => 'imoocs789']
);
$bool = $student->save();
dd($bool);
} //ORM更新数据:
public function orm3()
{
//通过模型更新数据:( save保存方法不可行)
/*$student = Student::find(1001);
$student->name = 'kitty';
$bool=$student->save();
dd($bool);*/ //结合查询语句,批量更新:
/*$num=Student::where('id','>',1005)->update(
['age'=>41]
);
var_dump($num);*/ } //使用Eloquent ORM删除数据:
public function orm4(){ //通过模型删除数据:
/*$student=Student::find(1008);
$bool=$student->delete();
var_dump($bool);*/ //通过主键删除:
//
/*$num=Student::destroy(1010);*/ //删除两条数据:
/*$num=Student::destroy(1007,1009);*/
/*$num=Student::destroy([1007,1009]);
var_dump($num);*/ //通过条件删除:
/* $num=Student::where('id','>',1004)->delete();
var_dump($num);*/
}

  模型的设置:

<?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=[]; //自动维护时间戳:
public $timestamps=true; //返回当前时间的时间戳,进入数据库,输出时,可以输出格式化好的时间。
protected function getDateFormat()
{
return time();
} //设置他之后,返回的就是数据表中的时间戳了。
protected function asDateTime($value)
{
return $value;
} }

  

laravel5.5种的Eloquent ORM的使用:的更多相关文章

  1. laravel5.5源码笔记(八、Eloquent ORM)

    上一篇写到Eloquent ORM的基类Builder类,这次就来看一下这些方便的ORM方法是如何转换成sql语句运行的. 首先还是进入\vendor\laravel\framework\src\Il ...

  2. Laravel Eloquent ORM

    Eloquent ORM 简介 基本用法 集体赋值 插入.更新.删除 软删除 时间戳 查询范围 关系 查询关系 预先加载 插入相关模型 触发父模型时间戳 与数据透视表工作 集合 访问器和调整器 日期调 ...

  3. [Laravel] 03 - DB facade, Query builder & Eloquent ORM

    连接数据库 一.Outline 三种操作数据库的方式. 二.Facade(外观)模式 Ref: 解读Laravel,看PHP如何实现Facade? Facade本质上是一个“把工作推给别人做的”的类. ...

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

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

  5. Eloquent ORM笔记

    基本操作 新增 $user = new User; $user->name = 'John'; $user->save(); $insertedId = $user->id;//从对 ...

  6. [转]Laravel 4之Eloquent ORM

    Laravel 4之Eloquent ORM http://dingjiannan.com/2013/laravel-eloquent/ 定义Eloquent模型 模型通常放在app/models目录 ...

  7. Eloquent ORM 学习笔记

    最近在学习Laravel,觉得ORM功能很强大,我这里只是简单探索了一点,如果有更好的笔记,还请分享. 因为重点在于Eloquent ORM,所以路由设置,控制器就不详细描述了,这里直接进入Model ...

  8. Eloquent ORM 之关联查询

    小伙伴们好,本文是在我的前一篇随笔的基础上完成的,还没有浏览的同学,请移尊驾哦 Eloquent ORM学习笔记. 前一篇文章用到了leftJoin方法,其实Eloquent对于模块之间的关联查询有自 ...

  9. Laravel 数据库操作 Eloquent ORM

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

随机推荐

  1. javaScript动画1 offsetWidth、offsetLeft

    offsetWidth和offsetHeight <!DOCTYPE html> <html lang="en"> <head> <met ...

  2. SpringMVC整合ActiveMQ

    spring activeMq 配置 <!-- ActiveMQ 连接工厂 --> <!-- 真正可以产生Connection的ConnectionFactory,由对应的 JMS服 ...

  3. Linux查找含有某字符串的文本文件

    转自:http://www.cnblogs.com/wangkongming/p/4476933.html 如果你想在当前目录下 查找"hello,world!"字符串,可以这样 ...

  4. python中统计计数的几种方法

    以下实例展示了 count() 方法的使用方法: 1 2 3 4 5 6 # !/usr/bin/python3   T = (123, 'Google', 'Runoob', 'Taobao', 1 ...

  5. opencv图像处理之在手机上实现背景虚化

    http://m.blog.csdn.net/blogercn/article/details/75004162 1.高端数码相机都具有背景虚化功能.背景虚化就是使景深变浅,使焦点聚集在主题上.一般的 ...

  6. 三年半Java后端面试经历

    经过半年的沉淀,加上对MySQL,redis和分布式这块的补齐,终于开始重拾面试信心,再次出征. 鹅厂 面试职位:go后端开发工程师,接受从Java转语言 都知道鹅厂是cpp的主战场,而以cpp为背景 ...

  7. Mysql CASE WHEN 用法

    select sum(1) as col_0_0_, sum(case vciinfo.useable when -1 then 1 else 0 end) as col_1_0_, sum(case ...

  8. webjars-jquery的引用

    什么是WebJars WebJars以jar包的形式来使用前端的各种框架.组件,如jquery.bootstrap WebJars将客户端(浏览器)资源(JavaScript,Css等)打成jar包文 ...

  9. RNAseq 流程

    https://github.com/twbattaglia/RNAseq-workflow

  10. VS2012 创建 WebService

    1.文件——新建——项目——Visual C#——Web——ASP.NET 空 Web 应用程序. 2.右键项目——添加——新建项——Web——Web 服务. 3.按 F5 启动调试,浏览器将显示接口 ...