最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • laravel的DB类数据库操作

    正文概述 转载于:掘金(陆小天)   2021-07-26   379

    一、DB类操作数据库(重点)

    按照MVC的架构,对数据的操作应该放在Model中完成,但如果不使用Model,我们也可以用laravel框架提供的DB类操作数据库,而且,对于某些极其复杂的sql,用Model已经很难完成,需要开发者自己手写sql语句,使用DB类去执行原生sql。laravel中DB类的基本用法DB::table['tableName']获取操作tableName表的实例(对象)。

    1.1、数据表的创建与配置

    建立数据库: laravel的DB类数据库操作 创建表:

    create table member(
    	id int primary key auto_increment,
    	name varchar(32) not null,
    	age tinyint unsigned not null,
    	email varchar(32) not null
    ) engine myisam charset utf8;
    

    laravel的DB类数据库操作


    1.2、数据库在laravel框架中的配置

    .env文件里面

    也可以在config目录下面的database.php文件里面配置。使用env函数,表示先从env文件里面获取,如果获取成功则使用,如果获取失败,则使用env函数的第二个参数。

    1.3、在Test控制器中引入DB门面

    laravel的DB类数据库操作

    laravel的DB类数据库操作

    1.3.1、定义增删改查需要的路由:

    laravel的DB类数据库操作 1、增加信息(insert) 对数据库中的某个表增加数据主要有两个函数可以实现,分别是insert()insertGetId()

    语法:DB::table('表名')->insert(); 连贯操作/链式操作 例: laravel的DB类数据库操作 效果: laravel的DB类数据库操作 laravel的DB类数据库操作


    2、修改数据(update) 数据修改可以使用update()、increment()和decrement()方法来实现。

    注意:where() -> where() -> where()... 这个语法是并且(and)关系语法。 where() -> orWhere() -> orWhere()... 这个语法是或者(or)关系语法。 orWhere方法的参数与where一致。 Where参数顺序: where(字段名, 运算符, 字段值)。例如id=1,则可以写出:where('id', '=', 1),简写成Where('id', '1');【只有=号才可以简写】

    例:把id=1的名称,改名为'lisi' (返回值表示受影响的行数): laravel的DB类数据库操作 效果: laravel的DB类数据库操作 laravel的DB类数据库操作


    例:把id=1的用户年龄字段值加10

    3、查询数据(get) (1)取出基本数据 例:获取member表中所有的数据 DB::table('member') -> get(); // 相当于select * from member ; 返回值是一个集合对象, laravel的DB类数据库操作 效果: laravel的DB类数据库操作


    例:取出id小于3的数据 laravel的DB类数据库操作 效果: laravel的DB类数据库操作


    例:查询id > 2 且年龄 <25数据 原生sql语句:select * from member where id > 2 and age <25; laravel语句: laravel的DB类数据库操作 效果: laravel的DB类数据库操作


    (2)取出单行数据 DB::table('member') -> where('id', '1') -> first() 返回值是一个对象。 first方法等价于limit 1

    例: laravel的DB类数据库操作 效果: laravel的DB类数据库操作


    (3)获取某个具体的值(一个字段) DB::table('member') -> where('id', '1') -> value('name'); 例:查询出id为1的用户的名字(只想要名字) laravel的DB类数据库操作 效果: laravel的DB类数据库操作


    (4)获取某些字段数据(多个字段)

    $users = DB::table('member') -> select('name', 'email') -> get();
    $users = DB::table('member') -> select('name as user_name') -> get();
    $users = DB::table('member') ->  select(DB::raw('name, age')) -> get(); // 不解析字段,原样使用。
    

    例:获取id>2的记录中的姓名和邮箱字段。 原生sql: select name, email from member where id > 2; laravel的DB类数据库操作 效果: laravel的DB类数据库操作


    (5)排序操作 DB::table('member') -> orderBy('age', 'desc') -> get(); 语法: orderBy(排序字段, 排序规则)。desc降序,asc升序 例:查询列表,要求按照age字段降序排列。

    laravel的DB类数据库操作 效果: laravel的DB类数据库操作


    (6)分页操作 DB::table('member') -> limit(3) -> offset(2) -> get(); limit:表示限制输出的条数(分页中每页显示记录数) offset:从什么地方开始 例: laravel的DB类数据库操作 效果: laravel的DB类数据库操作 (7)删除数据(delete) 在删除中,有两种方式:物理删除(本质就是删除)、逻辑删除(本质是修改) 数据删除可以通过delete函数和truncate函数实现。

    DB::table('member') -> where('id', '1') -> delete();

    laravel的DB类数据库操作 效果: laravel的DB类数据库操作


    (8)执行任意是SQl语句


    起源地 » laravel的DB类数据库操作

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元