>PHP 프레임워크 >ThinkPHP >ThinkPHP6에서 Laravel의 Eloquent ORM 사용하기

ThinkPHP6에서 Laravel의 Eloquent ORM 사용하기

WBOY
WBOY원래의
2023-06-20 09:40:431439검색

ThinkPHP6은 매우 인기 있는 PHP 프레임워크이고 Laravel은 또 다른 인기 있는 PHP 프레임워크입니다. 두 프레임워크 모두 고유한 기능과 장점을 가지고 있지만 Laravel의 Eloquent ORM(Object Relational Mapping) 엔진은 "PHP 세계 최고의 ORM"으로 알려져 있습니다.

ThinkPHP6를 사용할 때 Laravel의 Eloquent ORM을 사용하려면 어떻게 해야 하나요? ThinkPHP6에서 Laravel의 Eloquent ORM을 사용하는 방법을 자세히 논의해 보겠습니다.

Eloquent ORM 소개

Eloquent ORM은 데이터베이스 데이터를 처리하는 간결하고 강력한 방법을 제공하는 Laravel 프레임워크의 핵심 구성 요소 중 하나입니다. Eloquent ORM을 사용하면 데이터베이스 테이블의 행 데이터를 해당 PHP 객체에 매핑할 수 있으므로 번거로운 SQL 문을 작성하지 않고도 효율적인 데이터 작업을 수행할 수 있습니다.

Eloquent ORM의 장점은 쿼리, 추가, 업데이트 및 삭제 작업을 쉽게 수행하는 데 도움이 되는 일련의 강력한 작업 방법을 제공한다는 것입니다. 동시에 Eloquent ORM은 데이터베이스 마이그레이션(Migration), 관계 바인딩(Relationships), 즉시 로딩(Eager Loading)과 같은 고급 기능도 지원하여 프로젝트 개발 중 데이터베이스 운영 경험을 향상시키고 개발 효율성을 향상시킵니다.

ThinkPHP6에서 Eloquent ORM 사용

ThinkPHP6 자체도 ORM 기능을 제공하지만 Eloquent ORM을 지원하지는 않습니다. 따라서 ThinkPHP6 프레임워크를 사용하면서 Eloquent ORM을 사용하려면 먼저 몇 가지 기본 설정을 해야 합니다.

Eloquent ORM 설치

Eloquent ORM을 사용하기 전에 먼저 ORM을 설치해야 합니다. 설치하기 전에 작곡가 도구를 설치했는지 확인한 후 명령줄에서 다음 명령을 사용하여 설치하십시오.

composer require "illuminate/database"

설치가 완료된 후 다음 위치에 database 디렉터리를 생성해야 합니다. 프로젝트 루트 디렉터리, 그리고 이 디렉터리에 config.php 파일을 만듭니다. config.php 파일에서는 아래와 같이 데이터베이스 연결 정보를 구성해야 합니다. database 目录,并在该目录下创建一个 config.php 文件。在 config.php 文件中,我们需要对数据库连接信息进行配置,如下所示:

<?php

return [
    'default' => 'mysql',
    'connections' => [
        'mysql' => [
            'driver' => 'mysql',
            'host' => 'localhost',
            'database' => 'dbname',
            'username' => 'dbuser',
            'password' => 'dbpass',
            'charset' => 'utf8mb4',
            'collation' => 'utf8mb4_unicode_ci',
            'prefix' => '',
            'strict' => true,
            'engine' => null,
        ],
    ],
];

由于我们在使用ThinkPHP6的过程中已经配置了数据库连接信息,因此可以直接在 config.php 文件中使用与ThinkPHP6相同的数据库配置项。

配置基础信息

安装Eloquent ORM后,我们需要在项目的 database 目录下建立 db.php 文件,并配置相应的基础信息,如下所示:

<?php

use IlluminateDatabaseCapsuleManager as Capsule;

$capsule = new Capsule;

$capsule->addConnection([
    'driver' => 'mysql',
    'host' => config('database.hostname'),
    'database' => config('database.database'),
    'username' => config('database.username'),
    'password' => config('database.password'),
    'charset' => 'utf8mb4',
    'collation' => 'utf8mb4_unicode_ci',
    'prefix' => '',
    'strict' => true,
    'engine' => null,
]);

$capsule->setAsGlobal();
$capsule->bootEloquent();

在上述代码中,我们需要引用 illuminate/database 中的 Capsule 类,并使用该类配置数据库的基础信息。其中,addConnection 方法用于添加数据库连接信息,而 setAsGlobalbootEloquent 二方法用于将Eloquent ORM注册到全局服务容器中,并启动Eloquent ORM。

使用Eloquent ORM

在完成以上配置后,我们就可以愉快地使用Eloquent ORM 进行数据库操作了。在ThinkPHP6中,我们可以使用 app() 函数快速获取数据库连接实例,DB 类封装这个实例。Eloquent ORM则是基于这个数据库连接实例进行二次封装。

比如说,我们想在Eloquent ORM中查询 users 表的数据,可以使用以下代码:

use IlluminateDatabaseCapsuleManager as Capsule;

// 创建一个 Eloquent ORM 实例
$capsule = new Capsule();

// 查询 users 表的数据
$users = Capsule::table('users')->get();

// 输出查询结果
foreach ($users as $user) {
    echo $user->name;
}

在以上代码中,我们使用 Capsule 类创建了一个Eloquent ORM实例,然后通过该实例调用 tablerrreee

ThinkPHP6를 사용하는 과정에서 이미 데이터베이스 연결 정보를 구성했으므로 직접 구성할 수 있습니다. config.php 파일에서는 ThinkPHP6과 동일한 데이터베이스 구성 항목을 사용합니다.

기본 정보 구성

Eloquent ORM을 설치한 후 프로젝트의 database 디렉터리에 db.php 파일을 생성하고 아래와 같이 해당 기본 정보를 구성해야 합니다. :🎜rrreee🎜위 코드에서 illuminate/databaseCapsule 클래스를 참조하고 이 클래스를 사용하여 데이터베이스의 기본 정보를 구성해야 합니다. 그 중 addConnection 메소드는 데이터베이스 연결 정보를 추가하는 데 사용되며 setAsGlobalbootEloquent 메소드는 Eloquent ORM을 전역에 등록하는 데 사용됩니다. 서비스 컨테이너를 만들고 Eloquent ORM을 시작합니다. 🎜🎜Eloquent ORM 사용🎜🎜위 구성을 완료한 후 Eloquent ORM을 사용하여 데이터베이스 작업을 수행할 수 있습니다. ThinkPHP6에서는 app() 함수를 사용하여 데이터베이스 연결 인스턴스를 빠르게 얻을 수 있으며 DB 클래스는 이 인스턴스를 캡슐화합니다. Eloquent ORM은 이 데이터베이스 연결 인스턴스를 기반으로 보조 캡슐화를 수행합니다. 🎜🎜예를 들어 Eloquent ORM에서 users 테이블의 데이터를 쿼리하려면 다음 코드를 사용할 수 있습니다. 🎜rrreee🎜위 코드에서 Capsule 클래스를 사용하여 Eloquent ORM 인스턴스를 생성한 다음 인스턴스를 통해 <code>table 메서드를 호출하고 테이블 이름을 전달하여 해당 쿼리 작업을 수행합니다. 또한 Eloquent ORM이 제공하는 풍부한 기능을 사용하여 제한, 정렬, 그룹화, 집계 등과 같은 작업을 수행할 수도 있습니다. 구체적인 사용법은 공식 Eloquent ORM 문서를 참조하세요. 🎜🎜요약🎜🎜이 기사에서는 ThinkPHP6에서 Laravel의 Eloquent ORM을 사용하는 방법을 자세히 살펴보았습니다. Eloquent ORM의 기본 정보 구성과 사용 예를 통해 독자들은 ThinkPHP6에서 Eloquent ORM을 사용하여 데이터베이스 작업을 수행하는 방법에 대해 어느 정도 이해했다고 믿습니다. 물론, Eloquent ORM의 더 많은 기능과 특징에 대해 더 알고 싶다면 공식 문서나 관련 자료를 참조하여 배울 수 있습니다. 🎜

위 내용은 ThinkPHP6에서 Laravel의 Eloquent ORM 사용하기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.