美文网首页laravel核心LaravelLaravel开发实践
laravel初体验(数据库操作篇)

laravel初体验(数据库操作篇)

作者: 蚯小麦 | 来源:发表于2018-07-25 15:39 被阅读21次

总结今天整理的知识点~

数据库操作

查询 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();
打工是不可能的.gif

相关文章

网友评论

    本文标题:laravel初体验(数据库操作篇)

    本文链接:https://www.haomeiwen.com/subject/klcpmftx.html