控制器方法:

//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. qqwry.dat输出乱码问题及maven打包后资源文件大小不一致的问题

    使用qqwry.dat进行IP地理位置查询时,遇到一个问题即在本地测试时查询纯真库时正常,没有任何问题,但是打包传到服务器上便出现了乱码问题. 1.首先排除服务器的字符集编码的影响 使用如下命令验证了 ...

  2. pc端样式初始化

    pc端样式初始化: /* http://meyerweb.com/eric/tools/css/reset/ /* http://meyerweb.com/eric/tools/css/reset/ ...

  3. tensorflow中使用tf.variable_scope和tf.get_variable的ValueError

    ValueError: Variable conv1/weights1 already exists, disallowed. Did you mean to set reuse=True in Va ...

  4. 由浅入深之Tensorflow(2)----logic_regression实现

    import tensorflow as tf import numpy as np from tensorflow.examples.tutorials.mnist import input_dat ...

  5. selenium 难定位元素,时间插件,下拉框定位,string

    1.元素定位 ID定位元素: findElement(By.id(“”)); 通过元素的名称定位元素: findElement(By.name(“”)); 通过元素的html中的位置定位元素: fin ...

  6. getAttribute() 与 attr() 的区别

    getAttribute() 和 attr() 都是获取元素属性的方法,只是一种是 JS 写法,一种是 JQ 写法,但其实它们是有区别的. 主要区别 调用 getAttribute() 的主体必须是元 ...

  7. adb常用操作

    1.安装程序 adb -s serialno install -r path 2.切换电源 adb -s serialno shell input keyevent 26 3.主页键 adb -s s ...

  8. 使用svn的过程中check out的文件路径中的文件图标全都加上了“蓝色问号”的解决方案

    (1)你在对同一层目录下创建一个记事本文件,然后把下面这句话复制进去 for /r . %%a in (.) do @if exist "%%a\.svn" rd /s /q &q ...

  9. Django学习笔记之Django Form表单详解

    知识预览 构建一个表单 在Django 中构建一个表单 Django Form 类详解 使用表单模板 回到顶部 构建一个表单 假设你想在你的网站上创建一个简单的表单,以获得用户的名字.你需要类似这样的 ...

  10. Pycharm安装Python第三方库

    转自:http://blog.csdn.net/qiannianguji01/article/details/50397046 除了使用easy_insatll和pip工具安装Python第三方库外还 ...