laravel提供三种数据库操作方式:
- DB facade(原始查找)
- 查询构造器
- Eloquent ORM
laravel数据库配置文件
应用的数据库配置位于 config/database.php 文件中。
laravel中的数据库原生操作(DB facade)
配置好数据库连接后,就可以使用 DB 来运行查询。 DB 为每种查询提供了相应方法: select, update, insert, delete, 和 statement 。
Select 查询
运行一个最基本的查询,可以使用DB的 select 方法:
$users = DB::select('select * from users where active = ?', [1]);
}
传递给 select 方法的第一个参数是原生的 SQL 语句,第二个参数需要绑定到查询的参数绑定,通常,这些都
是 where 字句约束中的值。参数绑定可以避免 SQL 注入攻击。
select 方法以数组的形式返回结果集,数组中的每一个结果都是一个 PHP StdClass 对象,从而允许你像下面
这样访问结果值:
foreach ($users as $user) {
echo $user->name;
}
使用命名绑定
除了使用 ? 占位符来代表参数绑定外,还可以使用命名绑定来执行查询:
$results = DB::select('select * from users where id = :id', ['id' => 1]);
运行插入语句
使用 DB 的 insert 方法执行插入语句。和 select 一样,改方法将原生 SQL 语句作为第一个参数,将
绑定作为第二个参数:
DB::insert('insert into users (id, name) values (?, ?)', [1, 'Dayle']);
运行更新语句
update 方法用于更新数据库中已存在的记录,该方法返回受更新语句影响的行数:
$affected = DB::update('update users set votes = 100 where name = ?', ['John']);
运行删除语句
delete 方法用于删除数据库中已存在的记录,和 update 一样,该语句返回被删除的行数:
$deleted = DB::delete('delete from users');
运行一个通用语句
有些数据库语句不返回任何值,对于这种类型的操作,可以使用 DB 的 statement 方法:
DB::statement('drop table users');
这篇博客介绍了laravel中的数据库操作,重点讲解了DB facade的使用,包括select、insert、update、delete和通用语句的执行。通过示例展示了如何进行原生SQL查询,如使用命名绑定防止SQL注入,以及如何获取查询结果。
474

被折叠的 条评论
为什么被折叠?



