zoukankan      html  css  js  c++  java
  • laravel5.5种的Eloquent ORM的使用:

    控制器方法:

    //Eloquent ORM的使用:
        public function orm1()
        {
            //all()
            /*$students=Student::all();
            dd($students);
            */
    
            //find();
            /*$student=Student::find(1001);
            dd($student);*/
    
            //findOrFail()
            /*$student=Student::findOrFail(1008);
            dd($student);*/
    
            //查询构造器在ORM中的使用:
            /*$students=Student::get();
            dd($students);*/
    
            //first()
            /*$students=Student::where('id','>','1001')
            ->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','>',1001)->max('age');
            var_dump($max);*/
        }
    
        //ORM中的新增、自定义时间戳及批量赋值:
        public function orm2()
        {
            //使用模型新增数据:
            /*$student = new Student();
            $student->name = "笑笑";
            $student->age = 22;
            $bool =$student->save();
            dd($student);*/
    
            /*$student = Student::find(1007);
            echo $student->created_at;*/
    
            /*$student = Student::find(1007);
            //自己格式化时间戳
            echo date('Y-m-d H:i:s', $student->created_at);*/
    
            //使用模型的Create方法新增数据:
            /*$student=Student::create(
                ['name'=>'imooc','age'=>18]
            );
            var_dump($student);*/
    
            //firstOrCreate()  以属性查找用户,若没有则新增,并取得新的实例:
            /*$student= Student::firstOrCreate(
                ['name'=>'imoocs']
            );
            dd($student);*/
    
            //firstOrNew()以属性查找用户,若没有则建立新的实例。需要保存的,自己调用save
            $student = Student::firstOrNew(
                ['name' => 'imoocs789']
            );
            $bool = $student->save();
            dd($bool);
        }
    
        //ORM更新数据:
        public function orm3()
        {
            //通过模型更新数据:( save保存方法不可行)
            /*$student = Student::find(1001);
            $student->name = 'kitty';
            $bool=$student->save();
            dd($bool);*/
    
            //结合查询语句,批量更新:
            /*$num=Student::where('id','>',1005)->update(
                ['age'=>41]
            );
            var_dump($num);*/
    
        }
    
        //使用Eloquent ORM删除数据:
        public function orm4(){
    
            //通过模型删除数据:
            /*$student=Student::find(1008);
            $bool=$student->delete();
            var_dump($bool);*/
    
            //通过主键删除:
            //
            /*$num=Student::destroy(1010);*/
    
            //删除两条数据:
            /*$num=Student::destroy(1007,1009);*/
            /*$num=Student::destroy([1007,1009]);
            var_dump($num);*/
    
            //通过条件删除:
           /* $num=Student::where('id','>',1004)->delete();
            var_dump($num);*/
        }
    

      模型的设置:

    <?php
    
    namespace App;
    
    use IlluminateDatabaseEloquentModel;
    
    class Student extends Model
    {
        //指定表名:
        protected $table="student";
    
        //指定id
        protected $primaryKey="id";
    
        //指定允许批量的字段:
        protected $fillable=['name','age'];
    
        //指定不允许批量赋值的字段
        protected $guarded=[];
    
        //自动维护时间戳:
        public $timestamps=true;
    
        //返回当前时间的时间戳,进入数据库,输出时,可以输出格式化好的时间。
        protected function getDateFormat()
        {
            return time();
        }
    
        //设置他之后,返回的就是数据表中的时间戳了。
        protected function asDateTime($value)
        {
            return $value;
        }
    
    
    }
    

      

  • 相关阅读:
    UVA1599 理想路径 Ideal Path(最短路径)
    换根DP
    小w的魔术扑克(树状数组+并查集)
    NOIP 2016蚯蚓(优先队列)
    ZR 动物园
    T105017 seq(DP)
    noip2017酱油记
    noip2017酱油记前篇
    P1985 翻转棋
    luogu P2512 [HAOI2008]糖果传递
  • 原文地址:https://www.cnblogs.com/yiweiyihang/p/7826231.html
Copyright © 2011-2022 走看看