您现在的位置是:首页 > 博客日记 > Php Php

Eloquent ORM简介

2019-10-08 10:00:00 【Php】 人已围观

Laravel所自带的Eloquent ORM是一个优美、简洁的ActiveRecord类,用来实现数据库操作

每个数据表都有一个与之对应的“模型”,用于和数据表交互。MVC架构中,Controller不是直接去数据库中取数据,而是先定义好Model,然后Controller取Model取数据的。

建立模型

  1. use Illuminate\Datebase\Eloquent\Model;
  2. class Student extends Model
  3. {
  4. // 指定表名
  5. protected $table = 'student';
  6. // 指定主键
  7. protected $primaryKey = 'id';
  8. }

ORM中的新增、自定义时间戳及批量赋值

两种方式:
通过模型新增数据(设计到自定义时间戳)

  1. public function create()
  2. {
  3. // 使用模型新增数据
  4. $student = new Student();
  5. $student->name = 'ck';
  6. $student->age = 18;
  7. $student->save();
  8. }

使用模型的Create方法新增数据(涉及到批量赋值)

  1. $student = Student::create(
  2. ['name' => 'ck', 'age' => 18];
  3. );

需要指定允许批量赋值的字段

  1. protected $fillable = ['name', 'age'];

使用ORM修改数据

两种方式
通过模型更新

  1. public function update()
  2. {
  3. $student = Student::find(1);
  4. $studnet->name = 'ck';
  5. $student->save();
  6. }

结合查询语句批量更新

  1. public function update()
  2. {
  3. $num = Student::where('id', '=', 1)->update(
  4. ['age' => 41]
  5. );
  6. }

使用ORM删除数据

三种方式
通过模型删除

  1. public function modelDelete()
  2. {
  3. $student = Student::find(1);
  4. $student->delete();
  5. }

通过主键值删除

  1. public function deleteKey
  2. {
  3. $num = Student::destroy(1,2);
  4. }

根据指定条件删除

  1. public function conditionDelete()
  2. {
  3. Student::where('id', '=', 1)->delete();
  4. }


关注TinyMeng博客,更多精彩分享,敬请期待!
 

很赞哦! ()