zoukankan      html  css  js  c++  java
  • Laravel 数据库操作 Eloquent ORM

    laravel 操作数据库一般都使用它的Eloquent ORM才操作


    建立模型
    <?php
    namespace App;
    
    use IlluminateDatabaseEloquentModel;
    
    class Student extends Model
    {
        //指定表名 默认 模型名的复数
        protected $table='student';
    
        //指定主键 默认主键 为ID
        protected  $primaryKey='id';
    
        //指定允许批量赋值的字段
        protected $fillable=['name','age'];
        //指定不允许批量赋值的字段
        protected $guarded=[];
    
        //是否维护时间戳  默认维护
        //$timestamps=falst 不维护
        public $timestamps=true;
    
        //维护时间的时候保存时间戳
        protected function getDateFormat()
        {
            return time(); // TODO: Change the autogenerated stub
        }
    
        //查询的时候返回时间戳
        protected function asDateTime($value)
        {
    //        return parent::asDateTime($value); // TODO: Change the autogenerated stub
            return $value;
        }
    }
    
    

      

    ORM 查询
    //all() 查询所有数据  查询数据为集合
            $students=Student::all();
            dd($students);
    
            //根据主键查询 查询一条数据
            $student=Student::find(2);
            dd($student);
    
            //findOrFail() 根据主键查询 如果没有查到 报错
            $student=Student::findOrFail(2);
            dd($student);
    
            //get() 查询所有数据
            $students=Student::get();
            dd($students);
    
            //first() 查询第一条
            $students=Student::where('id','>','1')->orderBy('age','desc')->first();
            dd($students);
    
            //chunk() 每次查询一定条数 
            Student::chunk(2,function($students){
                var_dump($students);
            });
    
            //聚合函数
            //count() 条数
            $num = Student::count();
            var_dump($num);
    
            //max() 查询最大值
            $max=Student::where('id','>',1)->max('age');
            var_dump($max);
    添加
    //新增
            //save()
            $student=new Student();
            $student->name='vbb';
            $student->age=34;
            $rs=$student->save();
            dd($rs);
    
            //create()
            $rs=Student::create([
                'name'=>'momo',
                'age'=>23
            ]);
            dd($rs);
    
            //firstOrCreate()以属性查询数据 如果没有 新建数据
            $rs=Student::firstOrCreate(
                ['name'=>'vbb4']
            );
    
            //firstOrNew() 以属性查询数据 如果没有 新建实例 如果想保存调用save()
            $rs=Student::firstOrNew(
                ['name'=>'vbb4']
            );
            $bool=$rs->save();
    
            dd($rs);
    更新
    //更新
            //通过模型更新数据
            $student=Student::find(2);
            $student->age=2;
            $bool=$student->save();
            var_dump($bool);
    
            //批量更新
            $num=Student::where('id','>',5)->update(
                ['age'=>41]
            );
            var_dump($num);
    删除
    //删除
            //通过模型删除
            $student=Student::find(2);
            $bool=$student->delete();
            var_dump($bool);
    
            //通过主键删除
            $num=Student::destroy(3,4,5);
            $num=Student::destroy([3,4,5]);
            var_dump($num);
    
            //删除指定条件
            $num=Student::where('id','>',7)->delete();
            var_dump($num);
  • 相关阅读:
    Erlang 杂记 IV
    ASP.NET MVC的View是如何被呈现出来的?[设计篇]
    面向对象—在线文件管理模块
    软件开发中个人在团队里的效绩评定
    用go语言遍历文件夹
    磁盘缓存的算法:写算法
    一种Lua到C的封装
    从信息系统界面设计引发的思考
    基于Backbone.js的JavaScript MVC示例程序
    C和C++
  • 原文地址:https://www.cnblogs.com/zmdComeOn/p/10288521.html
Copyright © 2011-2022 走看看