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

总结今天整理的知识点~

数据库操作

查询 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
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容