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);
  • 相关阅读:
    Visual C# 2008+SQL Server 2005 数据库与网络开发 12.4 自定义控件
    Visual C# 2008+SQL Server 2005 数据库与网络开发 13.1 菜单和菜单事件的创建
    Visual C# 2008+SQL Server 2005 数据库与网络开发 11.6 小结
    vs2005部署报表服务器项目老提示输入用户名密码解决办法
    Excel 文本处理常用函数
    使用APMServ时出现“1、Apache启动失败,请检查相关配置。√MySQL5.1已启动。”错误的终极解决办法:
    <img> 标签的border等属性尽量少用
    时间相减
    全面介绍 Netstat命令的使用技巧!
    apmserver中 mysql的root密码设定
  • 原文地址:https://www.cnblogs.com/zmdComeOn/p/10288521.html
Copyright © 2011-2022 走看看