总结今天整理的知识点~
数据库操作
查询 DB::select('select * from student');
添加 DB::insert("insert into student(name,age) values (?,?)", ['小王',18]);
修改 DB::update("update student set age = ? where name = ?",[20,'小王']);
删除 DB::delete('delete from student where id > ?',[1001]);
查询构造器
插入 DB::table('student')->insert( ['name'=>'小李','age'=>18] );
获取插入id DB::table('student')->insertGetId(['name'=>'小刘','age'=>33] );
更新 DB::table('student') ->where('id',1003) ->update(['age'=>44]);
自增 DB::table('student')->increment('age');
自减 DB::table('student')->decrement('age');
删除 DB::table('student')->where('id',1003)->delete();
获取表中数据 DB::table('student')->get();
结果集中的第一条数据 DB::table('student')->first();
单条件查询 DB::table('student')->where('id','=',1005)->get();
多条件查询 DB::table('student')->whereRaw('id >= ? and name = ?',[1005,'小王'])->get();
指定字段的集合 DB::table('student')->pluck('name');
指定下标和字段的集合 DB::table('student')->lists('name','id');
获取指定字段的集合 DB::table('student')->select('name','id')->get();
每次查询多少条
DB::table('student')->chunk(2,function ($student) {
var_dump($student);
});
聚合函数
count() ----- max() ----- avg() ----sum()
ORM查询(1:all().2:find().3findOrFail())
- 首先创建Model (Student)
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Student extends Model {
// 指定表名
protected $table = "student";
// 指定id
protected $primaryKey = 'id';
// 自动维护时间戳
protected $timestamps = true;
// 允许批量赋值的字段
protected $fillable = ['name','age'];
// 指定不允许批量赋值的字段
protected $guarded = [];
//返回时间戳格式
protected function getDateFormat() {
return time();
}
//对时间戳不处理
protected function asDateTime($value) {
return $value;
}
}
- 在控制中引用
查询全部 $students = Student::all();
根据主键条件查询 $student = Student::find(1001);
根据主键查询,查询不到,排除异常 Student::findOrFail(1000);
ORM新增
*对象新增
$student = new Student();
$student->name = '小狗王';
$student->age = 48;
$student->sex = 51;
$bool = $student->save();
//
- create 新增
$student = Student::create(
['name'=>'小李子','age'=>88]
);
*firstOrCreate(以属性查询,未查询到就新增)
$student = Student::firstOrCreate(
['name'=>'大李子']
);
*firstOrNew(以属性查找,未查询到不更新到数据库,需要手动save插入)
$student = Student::firstOrNew(
['name'=>'小李子','age'=>88]
);
$bool = $student->save();
ORM修改数据
$student = Student::find(1012);
$student->name = '小秃子';
$student->save();
ORM删除数据
//通过模型删除
$student = Student::find(1012);
$student->delete();
//通过主键删除
Student::destroy(1012);
//删除指定条件
Student::where('id','>',1009)->delete();