
laravel 之 数据库
发布日期:2025-04-04 03:12:21
浏览次数:12
分类:精选文章
本文共 2339 字,大约阅读时间需要 7 分钟。
Laravel DB_facade 指南
快速入门
要开始使用 Laravel 的数据库功能,你需要首先配置数据库连接。以下是一个典型的数据库配置示例:
'mysql' => [ 'read' => [ 'host' => '192.168.1.1', ], 'write' => [ 'host' => '196.168.1.2', ], 'driver' => 'mysql', 'database' => 'database', 'username' => 'root', 'password' => '', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '',],
记住,read
和 write
主机地址通常应设置为不同的数据库实例,以支持数据库读写分离。
使用多数据库连接
在应用中使用多个数据库时,可以通过数据库连接名运行查询。例如:
$user = DB::connection('foo')->select('id, name FROM users WHERE id = ?', [1]);
此外,你还可以获取数据库连接的底层 PDO 实例:
$pdo = DB::connection()->getPdo();
原生 SQL 语句
Laravel 的 DB_facade 支持运行原生 SQL 语句。你可以按以下方式执行 SELECT 查询:
$user = DB::select('select * from users where active = ?', [1]);foreach ($user as $u) { echo $u->name;}
或者使用命名参数:
$results = DB::select('select * from users where id = :id', ['id' => 1]);
inserts, updates, deletes
使用插入、更新和删除操作时,请确保提供的 SQL 语句完整且正确:
// 插入操作DB::table('users')->insert('insert into users (id, name) values (?, ?)', [1, 'Dayle']);// 更新操作$affected = DB::update('update users set votes = 100 where name = ?', ['John']);$deleted = DB::delete('delete from users');
事务
数据库事务需要谨慎处理,尤其是在多个数据库连接上。Laravel 支持通过 DB::transaction
Begin, commit, rollback 等操作:
// 开始事务DB::beginTransaction();try { // 操作数据库 DB::table('users')->update(['votes' => 1]); DB::table('posts')->delete();} catch (Exception $e) { // 事务回滚 DB::rollBack();}// 提交事务DB::commit();
查询构造器
Laravel 的查询构造器简化了数据库操作。你可以使用它来执行复杂的查询。例如,获取用户的所有信息:
$users = DB::table('users')->get();
获取特定用户的信息:
$user = DB::table('users')->where('name', 'John')->first();
获取单个字段:
$email = DB::table('users')->where('name', 'John')->value('email');
分页
Laravel 提供了分页功能,适用于处理大量数据。使用 paginate
方法分页:
$users = DB::table('users')->paginate(15);
简单分页(只显示上下页 })):
$users = DB::table('users')->simplePaginate(15);
Redis
Redis 是一个高性能的 key-value 存储系统,可以与 Laravel 一起使用。安装 Redis 后,你可以通过以下方式进行操作:
// 添加 Redis 依赖use PhpRedis\Redis;// 初始化 Redis$redis = new Redis();$redis->connect('localhost', 6379);
数据库迁移
数据库迁移可以通过 Laravel 的 migrations
文件进行。生成迁移文件并运行:
php artisan make:migration my_migrationphp artisan migrate
数据填充
使用数据库填充功能快速生成测试数据。通过 DB::generatedummydata
方法:
// 模拟生成数据DB::table('users')->generateDummyData();// 清空现有数据DB::table('users')->truncate();
通过以上方法,你可以高效地使用 Laravel 的数据库功能。如果需要进一步了解某些特定功能,请查看 Laravel 文档或查看相应的例子。
发表评论
最新留言
能坚持,总会有不一样的收获!
[***.219.124.196]2025年04月27日 06时06分51秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
java-设计模式-装饰器设计模式,代理设计模式和继承三种扩展方法的比较
2025-04-01
java.io.tmpdir
2025-04-01
java.lang.IllegalStateException: Optional int parameter 'id' is not present but cannot be translated
2025-04-01
java农副产品购物app的设计与开发(ssm)
2025-04-01
JAVA分布式系统
2025-04-02
java分布式链路追踪;jvm应用监控-skywalking
2025-04-02
Java创建elasticsearch的model时,如何配置使用ik分词器?
2025-04-02
java加密解密
2025-04-02
java勤工助学管理系统
2025-04-02
JAVA反射
2025-04-02
Java反射
2025-04-02
java反射介绍
2025-04-02
Java反射代码编写
2025-04-02
JAVA反射机制
2025-04-02
JAVA反射机制
2025-04-02
Java反射获取private属性和方法(子类,父类,祖先....)
2025-04-02
java反射(1):Class代表类
2025-04-02
Java反序列化-CC2分析,从零基础到精通,收藏这篇就够了!
2025-04-02