• Laravel使用Eloquent ORM操作数据库


    1.定义模型

    <?php
    namespace App;
    use IlluminateDatabaseEloquentModel;
    class Flight extends Model{
    protected $table = 'my_flights';
    protected $primaryKey = 'my_id';
    public $timestamps = false;
    }

    2.获取表中所有数据all/get

    $flights = Flight::all();
    $flights = AppFlight::where('active', 1)
    ->orderBy('name', 'desc')
    ->take(10)
    ->get();

    3.find和first获取单个记录

    // 通过主键获取模型... 
    $flight = AppFlight::find(1);
    // 获取匹配查询条件的第一个模型...
    $flight = AppFlight::where('active', 1)->first();

    4.获取聚合

    $count = AppFlight::where('active', 1)->count();
    $max = AppFlight::where('active', 1)->max('price');

    5.新建

    想要在数据库中插入新的记录,只需创建一个新的模型实例,设置模型的属性,然后调用save方法:

    $flight = new Flight;
    $flight->name = $request->name;
    $flight->save();

    save方法还可以用于更新数据库中已存在的模型。要更新一个模型,应该先获取它,设置你想要更新的属性,然后调用save方法。

    $flight = AppFlight::find(1);
    $flight->name = 'New Flight Name';
    $flight->save();

    create方法在数据库中插入一条新的记录,该方法返回被插入的模型实例,先要在模型设置一下:

    //可以被批量赋值的属性
    protected
    $fillable = ['name'];
    $flight = AppFlight::create(['name' => 'Flight 10']);

    6.删除

    要删除一个模型,调用模型实例上的delete方法:

    $flight = AppFlight::find(1);
    $flight->delete();

    如果你知道模型的主键的话,可以直接删除而不需要获取它:

    AppFlight::destroy(1);
    AppFlight::destroy([1, 2, 3]);
    AppFlight::destroy(1, 2, 3);

    通过查询删除多个模型

    $deletedRows = AppFlight::where('active', 0)->delete();
  • 相关阅读:
    常用的学生、课程、成绩、教师表的查询
    flutter 自定义TabBar
    Flutter 设置input边框
    Flutter ReorderableListView 可拖拽的列表
    Flutter NotificationListener 监听列表的滚动
    Flutter 使用Tabbar不要Title
    Nestjs 验证对象数组
    postman 发送数组
    JS面向切面编程AOP
    什么是匿名函数、什么是闭包函数?
  • 原文地址:https://www.cnblogs.com/lamp01/p/6666669.html
Copyright © 2020-2023  润新知