美文网首页
Laravel 数据库操作 Eloquent ORM

Laravel 数据库操作 Eloquent ORM

作者: 捔落纏綿 | 来源:发表于2017-05-15 14:39 被阅读0次

    建立模型

    <?php
    namespace App;
    
    use Illuminate\Database\Eloquent\Model;
    
    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);
    

    相关文章

      网友评论

          本文标题:Laravel 数据库操作 Eloquent ORM

          本文链接:https://www.haomeiwen.com/subject/eagcxxtx.html