美文网首页laravel
2018-08-03laravel Eloquent ORM模型

2018-08-03laravel Eloquent ORM模型

作者: 扎扎瑜 | 来源:发表于2018-08-05 15:00 被阅读0次

    一、ORM操作需要创建对应的model

    1.直接在model操作:class User extends Eloquent
    2.依赖注入方式:如图
    image.png

    二、有两种方式使用数据操作对象

    • 使用new关键字创建对象后执行对象的方法
    • 直接调用static方法(实际并发静态方法,而是fascade生成的)

    三、常用的数据操作

    VirtualBourse::find(1)  //查询单条数据
    VirtualBourse::all() //查询所有数据
    VirtualBourse::pluck('symbol_id') //指定查询表中的一个字段
    VirtualBourse::find(1)->delete() //删除单条数据VirtualBourse::estory(array(1,2,3)) //删除单条或多条数据
    VirtualBourse::save() //保存数据
    VirtualBourse::first() //取第一条数据
    VirtualBourse::where('name', 'admin')->update(array('name' => 'zoe')); //指定条件,更新数据
    VirtualBourse::truncate() //清空数据表,危险操作
    VirtualBourse::where('name', 'admin')->get(array('id','title')); //指定查询条件获取多条数据
    VirtualBourse::pluck('title'); //返回表中该字段的第一条记录
    VirtualBourse::lists('artist') //返回一列数据
    VirtualBourse::where('artist', 'Something Corporate')->toSql(); //获取查询的sql语句,仅用于条件,不能带get()之类带查询结果的
    
    条件查询:
       1. 最普通的条件查询 User::where('字段名','查询字符','限制条件')     例:Album::where('title', 'LIKE', '...%')
       2. 多条件查询,使用多个where    Album::where('title', 'LIKE', '...%')->where('artist', '=', 'Say Anything')->get();
       3. 或查询操作使用orWhere(),使用方法通where
        4.直接用sql语句写查询条件    Album::whereRaw('artist = ? and title LIKE ?', array('Say Anything', '...%'))
        5. 其他查询方法
           whereIn(),whereBetween(),whereNested()子查询,orWhereNested(),whereNotIn(),whereNull(),whereNotNull()
        6. 快捷方式  whereUsername('king')  查询'username' = 'king'的数据,默认系统无此方法,username为字段名称
    
    结果排序:
      使用order关键字:
         Album::where('artist', '=', 'Matt Nathanson')->orderBy('year')->get();   默认asc
        orderBy('year', 'desc')
    
    限制结果数量
        take()方法
        Album::take(2)->get();                          //select * from `albums` limit 2
    
    指定偏移
        Album::take(2)->skip(2)->get();        //select * from `albums` limit 2 offset 2
    whereRaw($where)->skip($limit)->take($pageSize)->get();
    
    //查询去除id重复后的数量
    function getUserCount(){
        return $this->distinct('id')->count('id');
    }
    

    相关文章

      网友评论

        本文标题:2018-08-03laravel Eloquent ORM模型

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