Laravel教程 四:数据库和Eloquent
发布日期:2025-04-04 06:07:18 浏览次数:12 分类:精选文章

本文共 2740 字,大约阅读时间需要 9 分钟。

Laravel教程 四:数据库和Eloquent

数据库配置

在 Laravel 项目中,数据库配置文件位于项目根目录下的 config/database.php 中。主要关注_connections数组中的配置。我们可以通过环境变量或直接配置数据库驱动。

'connections' => [    'mysql' => [        'driver' => 'mysql',        'host' => env('DB_HOST', 'localhost'),        'database' => env('DB_DATABASE', 'forge'),        'username' => env('DB_USERNAME', 'forge'),        'password' => env('DB_PASSWORD', ''),        'charset' => 'utf8',        'collation' => 'utf8_unicode_ci',        'prefix' => '',        'strict' => false,    ],]

环境变量配置

数据库配置主要通过 .env 文件中的环境变量进行设置。例如,通常配置如下:

DB_HOST=localhostDB_DATABASE=homesteadDB_USERNAME=homesteadDB_PASSWORD=secret

Homestead开发环境

使用 Homestead 作为开发环境时,默认用户名和密码为 homesteadsecret。部署应用时,可以通过服务器上的 .env 文件配置相应数据库信息。

选择合适的数据库框架

Laravel 支持多种数据库框架,常见的有 MySQl、PostgreSQL 和 SQLite。根据项目需求选择合适的数据库类型进行配置。

使用Migration

数据库迁移是一个强大的工具,可以帮助我们自动化管理数据库 schema。通过 php artisan make:migration commands 生成迁移文件,定义数据表结构。

创建迁移文件

php artisan make:migration create_articles_table --create="articles"

生成迁移文件后,文件位于 database/migrations/ 目录中。例如:

public function up(){    Schema::create('articles', function (Blueprint $table) {        $table->increments('id');        $table->string('title');        $table->text('intro');        $table->text('content');        $table->timestamp('published_at');        $table->timestamps();    });}public function down(){    Schema::drop('articles');}

执行迁移

php artisan migrate

迁移回滚

php artisan migrate:rollback

迁移的优势在于可以通过代码控制数据库 schema 的变更,适合团队协作开发。

介绍Eloquent ORM

Eloquent 是 Laravel 的对象关系映射工具,允许我们通过代码与数据库进行交互。

创建Eloquent Model

通过 php artisan make:model 命令创建模型:

php artisan make:model Article

默认模型位于 App/Article.php 中,继承 Illuminate\Database\Eloquent\Model 类。

核心字段设置

通过迁移文件定义的字段包括:

  • id:自增主键
  • title:字符串字段
  • intro:文本字段
  • content:文本字段
  • published_at:时间戳字段

数据操作

使用 Artisan Tinker 进行实验:

php artisan tinker
$article = new App\Article;$article->title = 'Your Post Title';$article->intro = 'Article Introduction';$article->content = 'Article Content';$article->published_at = Carbon\Carbon::now();$article->save();

查询方法

$articles = App\Article::all(); // 获取所有文章$article = App\Article::find(1); // 获取id为1的文章$article = App\Article::where('title', '=', 'Your Post Title')->first(); // 按标题查询

更新和删除操作

$article = App\Article::find(2);$article->intro = 'Updated Introduction';$article->save();$article->delete();

创建记录

使用 create 方法:

App\Article::create([    'title' => 'New Post',    'intro' => 'New Introduction',    'content' => 'New Content',    'published_at' => Carbon\Carbon::now(),]);

###_self赋值性能优化

在模型中定义可赋值字段:

protected $fillable = ['title', 'intro', 'content', 'published_at'];

数据关联与关联关系

Eloquent支持一对一、一对多、多对多的关系定义,方便数据关联。

好的,这就是数据库和Eloquent的基础配置和操作解释。

下一章节将介绍 Laravel 的 MVC 模型、路由和 CONTROLLERS 的实现方法。希望这篇文章对你理解 Laravel 的数据库操作有所帮助!

上一篇:laravel新版教程之如何安装步骤详细说明
下一篇:laravel接入Consul

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.90.31.176]2025年04月16日 00时43分51秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

2024数字安全创新性案例报告,从零基础到精通,收藏这篇就够了! 2023-01-24
2024最新最全CTF入门指南(非常详细)零基础入门到精通,收藏这一篇就够了 2023-01-24
2024最新科普什么是大模型?零基础入门到精通,收藏这篇就够了 2023-01-24
2024最新程序员接活儿搞钱平台盘点 2023-01-24
2024最火专业解读:信息安全(非常详细)零基础入门到精通,收藏这一篇就够了 2023-01-24
2024版最新网络安全教程从入门到精通,看完这一篇就够了 2023-01-24
2025想做黑客?先来学习 SQL 注入,零基础入门到精通,收藏这篇就够了 2023-01-25
2025最新大模型技术学习过程梳理,零基础入门到精通,收藏这篇就够了 2023-01-25
2025版万字长文入门大语言模型(LLM)零基础入门到精通,收藏这篇就够了 2023-01-25
2025版最新0基础怎么转行网络安全?零基础入门到精通,收藏这篇就够了 2023-01-25
2025版最新Bash Shell入门指南,零基础入门到精通,收藏这篇就够了 2023-01-25
2025版最新C++快速入门(适合小白)零基础入门到精通,收藏这篇就够了 2023-01-25
2025版最新一文彻底搞懂大模型 - Agent(非常详细)零基础入门到精通,收藏这篇就够了 2023-01-25
2025版最新关于HW护网行动的一些知识,零基础入门到精通,收藏这篇就够了 2023-01-25
2025版最新大模型学习路线,零基础入门到精通,收藏这篇就够了 2023-01-25
2025版最新大模型开发流程(非常详细)零基础入门到精通,收藏这一篇就够了 2023-01-25
2025版最新大模型微调方法(非常详细)零基础入门到精通,收藏这篇就够了 2023-01-25
2025版最新大语言模型的指令微调,零基础入门到精通,收藏这篇就够了 2023-01-25
2025版最新小白学习大模型:什么是大模型?零基础入门到精通,收藏这篇就够了 2023-01-25
2025版最新常用黑客工具之【Nmap 教程基础】零基础入门到精通,收藏这篇就够了 2023-01-25