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);

}


原文地址:https://www.cnblogs.com/gyfluck/p/9040061.html

时间: 2024-08-28 07:05:56

Laravel 数据库操作之Eloquent ORM模型的相关文章

laravel 数据库操作小例子

public function demo() { $res = null; //insert数据插入 //$user=array('username'=>'joy','password'=>'123456','age'=>23); //$res = DB::table('users')->insert($user); /* 数据查询 $res = DB::table('users')->where('username','joy')->get(); $res = DB:

Laravel数据库操作

laravel数据库有三种访问方式 一.基本Facade用法 注意,首先要引入:use Illuminate\Support\Facades\DB; 不然报错 DB' not found 返回的是数组对象: $results = DB::select('select * from users where id = ?', [1]); or $sql = 'select * from friends where friend_id = 5'; $results = DB::select($sql)

PHP数据库操作:使用ORM

什么是ORM呢?引用网友的话: ORM 对象关系映射,O(Object) 对象,在项目中就是实体,更加精确的来说就是数据Model,也可以说持久化类.R(Relation) 关系数据,M (Mapping)映射,将对象映射到关系数据,将关系数据映射到对象的过程.更加直观理解就是,ORM 就是以OOP思想,产生增删改查SQL语句. 相比PDO,ORM更适合快速开发项目,而不用写SQL语句.下面介绍几个好用的ORM. Medoo 下文均以版本1.0.2为例. 环境要求 PHP 5.1+, 推荐PHP

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

//TP 恶补ing... 一.定义数据表模型 1.模型映射 要测试数据库是否正常连接,最直接的办法就是在当前控制器中实例化数据表,然后使用 dump 函数输出,查看数据库的链接状态.代码: public function testdb(){ $obj=M("User"); dump($obj); } 此时浏览器输出: object(Model)#5 (20) { ["_extModel:private"] => NULL ["db:protecte

laravel 数据库操作

1 配置信息 1.1配置目录: config/database.php 1.2配置多个数据库 //默认的数据库 'mysql' => [ 'driver' => 'mysql', 'host' => env('DB_HOST', 'localhost'), 'port' => env('DB_PORT', '3306'), //更多配置 ], //可以创建更多的数据库 'mysql' => [ 'driver' => 'mysql_2', 'host' => en

laravel 数据库操作之查询构造器

/** * 新增数据 * / $bool = DB::table('wt_001')->insert(['username'=>'冰冰','old'=>33,'note'=>'小三']); dd($bool); /**/ /** * 新增数据同时获取新增ID * / $id = DB::table('wt_001')->insertGetId(['username'=>'李冰冰','old'=>35,'note'=>'小二']); dd($id); /**/

Django学习【第5篇】:Django之ORM数据库操作

django之ORM数据库操作 一.ORM介绍 映射关系: 表名 -------------------->类名 字段-------------------->属性 表记录----------------->类实例化对象 ORM的两大功能: 操作表: - 创建表 - 修改表 - 删除表 操作数据行: - 增删改查 ORM利用pymysql第三方工具链接数据库 Django没办法帮我们创建数据库,只能我们创建完之后告诉它,让django去链接 二.创建表之前的准备工作 一.自己创建数据库

12.ORM模型

ORM模型的创建和映射: 随着项目越来越大,采用写原生SQL的方式在代码中会出现大量的SQL语句,那么问题就出现了: SQL语句重复利用率不高,越复杂的SQL语句条件越多,代码越长.会出现很多相近的SQL语句. 很多SQL语句是在业务逻辑中拼出来的,如果有数据库需要更改,就要去修改这些逻辑,这会很容易漏掉对某些SQL语句的修改. 写SQL时容易忽略web安全问题,给未来造成隐患.SQL注入. ORM 全称Object Relational Mapping,中文叫做对象关系映射,通过ORM我们可以

047:创建和映射ORM模型

创建ORM模型: ORM 模型一般都是放在 app 的 models.py 文件中.每个 app 都可以拥有自己的模型.并且如果这个模型想要映射到数据库中,那么这个 app 必须要放在 settings.py 的 INSTALLED_APP 中进行安装.以下是写一个简单的书籍 ORM 模型.示例代码如下: from django.db import modelsfrom datetime import datetime # Create your models here. class book(