货物

什么是 Laravel Eloquent,如何使用它,带示例的教程

Laravel PHP 框架包括 Eloquent Object Relational Mapper (ORM),它提供了一种与数据库通信的极其简单的方法。 

Laravel 和 Eloquent 有助于加快应用程序和平台的开发,为大多数问题提供充分的解决方案。 通过更快的开发以及组织良好、可重用、可维护和可扩展的代码来满足需求。 

Eloquent 如何运作

开发人员可以在 Eloquent 使用 ActiveMethod 实现有效地处理多个数据库。 它是一种架构模式,其中在模型-视图-控制器 (MVC) 结构中创建的模型对应于数据库中的表。 优点是模型可以执行常见的数据库操作,而无需编写长 SQL 查询。 模板允许您查询表中的数据并将新记录插入表中。 简化了同步在不同系统上运行的多个数据库的过程。 您不需要编写 SQL 查询。 你所要做的就是 defi完成数据库表以及它们之间的关系,Eloquent 将完成剩下的工作。

Laravel 准备

欣赏 Eloquent ORM 的实用性,并了解生态系统是必须的。 开始步骤:

  1. 从 getcomposer.org 安装 Laravel,按照此处的说明进行操作
  2. 创作 migration 使用控制台 Artisan
  3. 创建模板 eloquent
  4. 跑我 seed 数据库的

Artisan Console 是 Laravel 中包含的命令行界面的名称。 提供一组有用的命令,供您在开发应用程序时使用。 它由强大的组件驱动 Symfony Console.

要查看所有可用的 Artisan 命令的列表,您可以使用 list 命令:

php artisan list

所有命令都带有对其参数和选项的简明描述。 这显示在“帮助”屏幕中。 要显示帮助屏幕,只需在命令名称前加上“help”,如下所示:

php artisan help migrate

Migration

迁移是通过编写 PHP 代替数据库管理过程 SQL. 提供一种向数据库添加版本控制的方法。 

要创建迁移,只需运行以下命令:

php artisan make:migration create_student_records

这将创建迁移文件。 在您的文本编辑器中,打开您刚刚在文件夹中创建的文件 database\migrations:

<?php
use IlluminateSupportFacadesSchema;
use IlluminateDatabaseSchemaBlueprint;
use IlluminateDatabaseMigrationsMigration;

class CreateStudentRecordsTable extends Migration
{
    /**
    * Run the migrations.
    *
    * @return void
    */
    public function up()
    {
        Schema::create('student__records', function (Blueprint $table) {
            $table->increments('id');
            $table->timestamps();
        });
    }

    /**
    * Reverse the migrations.
    *
    * @return void
    */
    public function down()
    {
        Schema::dropIfExists('student__records');
    }
}

代码是一个同名的类'create student records',并且有两种方法:向上和向下。 up 方法应该对数据库进行更改; 因此,无论何时迁移数据库,都会执行 up 方法中的任何代码。 另一方面,down 方法应该回滚那些数据库更改; 所以每当你运行 rollback migration, down 方法应该撤消 up 方法所做的事情。 方法内部 up 有用于创建和操作表的架构构建器。 如果您取消某些迁移会怎样? 您所要做的就是执行以下命令:

php artisan migrate:rollback

他会收集最后一个 migration 已实施。 此外,您可以通过运行以下命令完全恢复数据库:

php artisan migrate:reset

这将取消您的所有迁移。

Defi的模型重刑 Eloquent

数据库迁移完成后,接下来的流程就是 seedingEloquent 自从开始发挥作用 seeding 正在向我们的数据库中插入记录。 因此,您需要在填充数据库之前创建模板。 每个数据库表都有一个对应的模型,用于与该表进行交互。 模板允许您查询表中的数据,以及将新记录插入表中。 实例化模型的最简单方法是使用以下命令:

php artisan make:model Student
模板示例如下所示 Student,可用于从我们学生的数据库表中检索和存储信息:
<?php
namespace App;
use IlluminateDatabaseEloquentModel;

class Student extends Model
{
    //
}

当你生成一个模型,同时你想生成一个数据库迁移,你可以使用选项 –migration o -m:

php artisan make:model Student --migration

php artisan make:model Student -m

播种者

整体播种机是一组特殊的类,允许我们用完全相同的数据一遍又一遍地填充我们的数据库。 我们执行以下命令:

php artisan make:seeder StudentsRecordSeeder

在文本编辑器中,在 seeds 文件夹下,打开新创建的文件,文件名为: StudentsRecordSeeder.php. 如您所见,这只是一个非常简单的类,只有一个名为 run()。

<?php
use IlluminateDatabaseSeeder;

class StudentsRecordSeeder extends Seeder
{
    /**
    * Run the database seeds
    * @return void
    */

    public function run()
    {
        //
    }
}

该代码只是控制台命令类的包装器,专门用于帮助完成以下任务 seeding. 编辑代码,然后保存。

创新通讯
不要错过有关创新的最重要新闻。 注册以通过电子邮件接收它们。
public function run()
{
    echo 'Seeding!';
}

去终端:

php artisan db:seed --class=StudentsRecordSeeder

现在您可以用一些条目填充表并运行:

php artisan db:seed --class=class=StudentsRecordSeeder

在这里你可以不断地删除、添加、修改数据库中的条目,然后用一个简单的命令恢复它们。

使用 Laravel Eloquent 增删改查

使用 Laravel Eloquent 对象关系映射器 (ORM) 的 CRUD 操作使 Laravel 开发人员更容易使用多个数据库。 它执行创建、读取、更新和删除 (CRUD) 操作,并将对象模型映射到数据库表。 处理 CRUD 操作所需的所有数据库交互。

创造记录

您可以使用 ::create 方法将新记录插入数据库。

student_record::create(array(
    'first_name' => 'John',
    'last_name'  => 'Doe',
    'student_rank' => 1
));

除了上面显示的简单创建方法,您还可以创建一个新对象并赋予它不同的属性。 然后,您可以调用 save() 函数并运行代码。 像这样的方法 firstOrCreate()o firstOrNew() 是创建记录的其他选项。 这些将使您能够找到具有某些属性的学生; 如果找不到该学生,您将在数据库中创建它或实例化一个新实例。

阅读记录

使用 Eloquent ORM,您可以在数据库中查找记录。 查询构造简单,流程流畅。 创建语句:where,您将使用这些方法 get() 和 first(). 方法 first() 只会返回一条记录,而方法 get() 将返回一个可循环的记录数组。 还有,方法 find() 可以与主键数组一起使用,这将返回匹配记录的集合。 这里有些例子:

$student = Students::all();

此代码获取所有学生。 以下代码通过 ID 查找特定学生:

$student = Students::find(1);

此外,如下所示,代码描述了根据特定属性搜索学生。

$JohnDoe = Students::where('name', '=', 'John Doe')->first();

对于 get() 方法,此代码显示了如何查找级别高于 5 的学生。

$rankStudents = Student::where('student_rank', '>', 5)->get();
记录更新

使用 Eloquent 更新记录同样简单。 要更新记录,只需找到要更新的记录,编辑属性并保存即可。 例如,要将 John Doe 的学生的年级更改为 5,首先找到该学生,然后执行保存方法。

$JohnDoe = Bear::where('name', '=', 'John Doe')->first();
$JohnDoe->danger_level = 5;
$JohnDoe->save();

save 方法也可用于更新数据库中已存在的模型。

删除记录

Eloquent 以其简单的记录更新过程而自豪,但它在删除方面也有同样的故事。 有两种选择:拉出记录并执行delete方法,或者干脆使用destroy方法。 要查找和删除记录,只需运行以下命令:

$student = Students::find(1);
$student->delete();

要删除一条记录和多条记录,运行命令:

Students::destroy(1);
Students::destroy(1, 2, 3);

请注意,与可以接受任何数据库列的 delete 方法不同,destroy 的参数只是主键。

查找并删除所有 10 级以上的学生。

Students::where('student_rank', '>', 10)->delete();
Ercole Palmeri
创新通讯
不要错过有关创新的最重要新闻。 注册以通过电子邮件接收它们。

Articoli最新回应

卡塔尼亚综合诊所的 Apple 观众对增强现实进行创新干预

卡塔尼亚综合诊所使用 Apple Vision Pro 商业查看器进行了眼部整形手术……

3 2024五月

儿童涂色页的好处 - 适合所有年龄段的魔法世界

通过着色培养精细运动技能可以帮助孩子们为写作等更复杂的技能做好准备。填色…

2 2024五月

未来已来:航运业如何彻底改变全球经济

海军部门是真正的全球经济力量,已迈向 150 亿美元的市场……

1 2024五月

出版商和 OpenAI 签署协议以规范人工智能处理的信息流

上周一,英国《金融时报》宣布与 OpenAI 达成协议。英国《金融时报》授予其世界级新闻报道许可……

四月30 2024