Laravel 5框架学习之Eloquent (laravel 的ORM)

网络编程 2025-04-05 03:19www.168986.cn编程入门

Laravel框架中的Eloquent ORM以其简洁而强大的ActiveRecord实现,为开发者提供了与数据库交互的优雅方式。每一个数据库表背后都有一个对应的“模型”,使数据库操作更为直观和方便。但在开始之前,请确保你已经按照config/database.php中的配置信息正确设置了数据库连接。

现在,让我们开始生成你的第一个模型。在你的命令行中运行以下命令:

输入:

```bash

php artisan make:model Article

```

输出:

```plaintext

Model created successfully.

Created Migration: 对应的迁移文件名(根据时间生成)

```

接下来,你可以在app目录下找到新生成的Article模型文件Article.php。打开它,你会看到这样的代码:

```php

use Illuminate\Database\Eloquent\Model;

class Article extends Model {

// 这里可以定义模型的属性和方法,或者直接保持空白。

}

```

你打开了php artisan tinker,进入了一个充满魔法的地方,这里你可以直接与你的应用程序代码互动。

```shell

进入Tinker环境

$ php artisan tinker

```

Tinker Shell欢迎你,显示当前的PHP和Laravel环境版本。你开始创建变量和对象。

```shell

定义变量和创建Article对象

$name = 'zhang jinglin';

$article = new App\Article;

```

你为新文章设置标题和内容,并使用Carbon设置发布时间。

```shell

设置文章标题和内容,并设置发布时间

$article->title = 'My First Article';

$article->body = 'Some content...';

$article->published_at = Carbon\Carbon::now();

```

你查看文章对象,它包含了所有设置好的属性。然后你保存文章到数据库。

```shell

查看文章对象信息并保存文章

echo $article; // 显示文章对象信息

$article->save(); // 保存文章到数据库,返回true表示成功

```

你查看数据库中的所有文章记录,看到新添加的文章已经成功保存。然后你更新文章的标题并再次保存。

```shell

查看所有文章记录,更新文章标题并保存

$allArticles = App\Article::all()->toArray();

echo $allArticles; // 显示所有文章数组

$article->title = 'My First Update Title'; // 更新文章标题

$article->save(); // 保存更新后的文章信息

```

```shell

Laravel表单数据填充与数据库安全:如何明确哪些字段可以直接填充?

在Laravel应用程序开发中,我们经常面临这样的情境:需要从表单收集数据并将其直接填充到数据库记录中。为了确保数据的安全性和完整性,我们必须明确告知Laravel哪些字段是可以直接填充的。让我们深入这一过程。

打开我们的模型文件`Article.php`。它位于`App`命名空间中,继承自`Model`类。在这个文件中,我们定义了一个名为`Article`的模型类。

```php

use Illuminate\Database\Eloquent\Model;

class Article extends Model {

// 指定哪些字段可以直接填充数据库记录

protected $fillable = [

'title',

'body',

'published_at'

];

}

```

在上面的代码中,我们指定了`title`、`body`和`published_at`字段是可以直接填充的。这意味着当我们从表单收集数据并尝试更新数据库记录时,只有这三个字段会被接受并更新。其他未列出的字段将不会被更新,从而保护了数据库的安全。

接下来,让我们在Laravel的Tinker工具中进行实际操作演示。创建一个新的文章记录:

```plaintext

>> $article = App\Article::create(['title' => 'New Article', 'body' => 'New body', 'published_at' => Carbon\Carbon::now()]);

```

成功创建后,您可以查看新文章的信息,确认它已经被正确添加到数据库中。现在让我们尝试获取所有文章并查看它们的信息:

```plaintext

>> App\Article::all()->toArray();

```

这将显示所有文章的列表,包括它们的ID、标题、正文、发布时间等。假设您想要更新刚才创建的文章正文内容,您可以使用以下方法:

```plaintext

>> $article = App\Article::find(2); // 获取ID为2的文章实例

>> $article->update(['body' => 'New Update Body']); // 更新正文内容并保存更改到数据库

```

这样您就成功更新了文章的内容。这个过程确保了只有指定的字段被更新,从而维护了数据库的安全性。其他未列出的字段仍然保持原样,不会被修改。这就是Laravel框架提供的强大功能之一,帮助我们构建安全的应用程序。希望这些内容对大家学习Laravel框架有所帮助。记得在实际开发中始终关注数据的安全性,确保应用程序的健壮性和可靠性。如有更多疑问或需要深入了解其他功能,请随时Laravel的文档和社区资源。通过实践和学习,您将不断掌握Laravel开发的精髓。祝您的Laravel之旅愉快!如有进一步问题或想法,请随时分享和交流。好了,以上就是本文的全部内容了。现在开始编写代码吧!欢迎学习交流哦!感谢阅读!再见!我的渲染完毕!再见!再见!再见!再见!再见!再见!再见!再见!再见!再见!(渲染结束)

Copyright © 2016-2025 www.168986.cn 狼蚁网络 版权所有 Power by