Laravel 操作数据库 - 模型类&DB类

本文详细介绍了Laravel中使用DB类和模型进行数据库操作的方法,包括查询构建器、模型的CRUD操作,以及各种where子句的使用。内容涵盖select、insert、update、delete操作,聚合查询,软删除,以及where条件的多种组合方式。
摘要由CSDN通过智能技术生成

一、使用DB类操作数据库
配置好数据库连接后,就可以使用DB类来运行查询。DB类为每种查询提供了相应方法:select, update, insert, delete和statement。

1、运行原生sql查询
注意:原生sql语句中的数据表名,必须是包含前缀的完整表名。

-> 运行 select/insert/update/delete 查询

$results = DB::select('select * from users where id = ?', [1]);

select方法以数组的形式返回结果集,数组中的每一个结果都是一个PHP StdClass对象,从而允许你像下面这样访问

结果值:

foreach ($results as $user) {
    echo $user->name;
}

-> 运行一个通用语句
有些数据库语句不返回任何值,对于这种类型的操作,可以使用DB类的statement方法:该方法返回布尔值true或false,代表语句执行成功或失败。

DB::statement('drop table users');

2、查询构建器
指定操作的数据表:

DB::table(表名);

注:查询构建器中table方法中的表名,是不包含前缀的表名。

-> 查询数据
①获取多条数据–get方法

$users = DB::table('users')->where('name', 'John')->get();

get方法返回包含结果集的Illuminate\Support\Collection,其中每一个结果都是PHP的StdClass对象实例。你可以像访问对象的属性一样访问字段的值:

foreach ($users as $user) {
    echo $user->name;
}

②获取一条数据–first方法
如果你只是想要从数据表中获取一行数据,可以使用first方法,该方法将会返回单个StdClass对象:

$user = DB::table('users')->where('name', 'John')->first();
echo $user->name;

注:根据主键获取一条数据–find方法
如果你想要根据主键值从数据表中获取数据,可以使用find方法(必须传递参数):

//传递一个主键值,获取一条数据
$user = DB::table('users')->find(1);

③聚合查询(统计查询)
查询构建器还提供了多个聚合方法,如count, max, min, avg和 sum,你可以在构造查询之后调用这些方法:

$users = DB::table('users')->count();
$price = DB::table('orders')->max('price');

④select子句–select方法
当然,我们并不总是想要获取数据表的所有列,使用select方法,你可以为查询指定自定义的select子句:

$users = DB::table('users')->select('name', 'email as user_email')->get();

⑤where子句–where方法

$users = DB::table('users')
            ->where('votes', '>=', 100)
            ->get();
$users = DB::table('users')
            ->where('votes', '<>', 100)
            ->get();
$users = DB::table(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值