>PHP 프레임워크 >Laravel >Laravel 개발: Laravel Eloquent를 사용하여 모델을 구축하는 방법은 무엇입니까?

Laravel 개발: Laravel Eloquent를 사용하여 모델을 구축하는 방법은 무엇입니까?

PHPz
PHPz원래의
2023-06-14 10:14:171622검색

Laravel은 단순성과 사용 용이성으로 인해 인기가 많은 인기 있는 PHP 웹 프레임워크입니다. Laravel 프레임워크는 PHP를 사용하여 데이터베이스 모델을 정의하고 이러한 모델을 기반으로 쉬운 데이터베이스 상호 작용을 제공하는 객체 관계형 미니 매핑인 탁월한 Eloquent ORM 구현으로 잘 알려져 있습니다.

이 기사에서는 Laravel Eloquent를 사용하여 데이터베이스와 빠르고 안정적으로 상호 작용하는 모델을 구축하는 방법을 자세히 소개합니다.

Laravel Eloquent란 무엇입니까

Eloquent ORM은 Laravel 프레임워크에 내장된 ORM 시스템으로, 이를 통해 MySQL 문에서 데이터를 직접 조작하는 대신 PHP를 사용하여 데이터베이스와 상호 작용할 수 있습니다. Eloquent는 일련의 데이터 테이블을 객체에 매핑하므로 SQL 문을 직접 실행하지 않고도 데이터 테이블의 각 필드에 이름을 지정하고 조작할 수 있습니다.

Laravel Eloquent ORM을 사용하려면 데이터베이스 모델을 구축하기 전에 아래와 같이 데이터베이스 연결을 구성해야 합니다.

<?php

use IlluminateSupportFacadesDB;

$connection = DB::connection();
$name = $connection->getDatabaseName();

일반적으로 Laravel 프레임워크는 이미 .env 파일에 데이터베이스 연결을 구성했습니다. 로컬 개발에서는 일반적으로 기본 연결만 유지하면 됩니다. .env文件中配置好了数据库连接,在本地开发中一般只需保持默认连接即可。

如何使用 Laravel Eloquent 构建模型

Laravel Eloquent ORM提供了一种简单而强大的方式来定义模型,而不用写复杂的SQL语句。

在Laravel中,每个Eloquent模型都关联一个数据库表。我们可以使用php artisan命令创建数据库迁移文件后,使用php artisan make:model命令创建一个Eloquent模型。

下面的示例展示了如何创建一个模型:

php artisan make:model Example

这将在app目录下创建一个Example.php文件,以下是具体的代码:

<?php

namespace App;

use IlluminateDatabaseEloquentModel;

class Example extends Model
{
    //
}

使用这个简单的模型,我们可以开始定义并建模数据表,具体的建模见下:

Schema::create(`example`, function ($table) {
    $table->increments(`id`);
    $table->string(`title`);
    $table->string(`body`);
    $table->timestamps();
});

在定义完模型后,我们可以通过Eloquent的查询构建器构建查询,下面是一个Laravel Eloquent查询的例子:

$example = Example::find(1);

在该查询中,Example::find(1)读取默认表example中的记录,并返回一个AppExample模型实例。在此模型实例上我们可以执行内部函数或属性,例如:

$title = $example->title;

上述代码会输出表中id为1的记录的title列的值。

为数据表模型添加关联

在Laravel Eloquent ORM中,我们可以通过添加关联关系来表达数据模型之间的关系,例如下述两个模型之间的关联:

class Country extends Model
{
    public function user()
    {
        return $this->hasMany(User::class);
    }
}

class User extends Model
{
    public function country()
    {
        return $this->belongsTo(Country::class);
    }
}

在这个模型中,一个国家可以有多个用户,因此Country模型hasMany关联用户模型;另一方面,一个用户只能来自一个国家,因此模型User使用belongsTo方法从属于国家模型。

通过定义这些关系,我们可以在查询时使用with方法轻松地获取相应的关联模型,例如:

$countries = Country::with('user')->get();

在上述查询中,Country::with('user')返回通过Country::user()

Laravel Eloquent를 사용하여 모델을 구축하는 방법

Laravel Eloquent ORM은 복잡한 SQL 문을 작성하지 않고도 모델을 정의할 수 있는 간단하고 강력한 방법을 제공합니다.

Laravel에서 각 Eloquent 모델은 데이터베이스 테이블과 연결되어 있습니다. php artisan 명령을 사용하여 데이터베이스 마이그레이션 파일을 생성한 다음 php artisan make:model 명령을 사용하여 Eloquent 모델을 생성할 수 있습니다. 🎜🎜다음 예는 모델을 생성하는 방법을 보여줍니다. 🎜
foreach ($countries as $country) {
    foreach ($country->user as $user) {
        echo $user->name;
    }
}
🎜이렇게 하면 앱 디렉터리에 example.php 파일이 생성되고, 특정 코드는 다음과 같습니다. 🎜rrreee🎜이 간단한 모델을 사용하여 데이터 정의 및 모델링을 시작할 수 있습니다. 🎜rrreee🎜모델을 정의한 후 Eloquent의 쿼리 빌더를 통해 쿼리를 작성할 수 있습니다. 다음은 Laravel Eloquent 쿼리의 예입니다. 🎜rrreee🎜이 쿼리에서 예: :find(1)는 기본 테이블 example의 레코드를 읽고 AppExample 모델 인스턴스를 반환합니다. 이 모델 인스턴스에서 내부 함수나 속성을 실행할 수 있습니다. 예: 🎜rrreee🎜 위 코드는 테이블에서 ID가 1인 레코드의 제목 열 값을 출력합니다. 🎜🎜데이터 테이블 모델에 연결 추가🎜🎜Laravel Eloquent ORM에서는 다음 두 모델 간의 연결과 같은 연결 관계를 추가하여 데이터 모델 간의 관계를 표현할 수 있습니다. 🎜rrreee🎜이 모델에서 국가는 다음을 가질 수 있습니다. 여러 사용자가 있으므로 Country 모델 hasMany는 사용자 모델과 연결되어 있는 반면, 사용자는 한 국가에서만 올 수 있으므로 User 모델은 code>belongsTo 메소드를 사용하여 국가 모델에 속합니다. 🎜🎜이러한 관계를 정의하면 쿼리할 때 with 메서드를 사용하여 해당 연관 모델을 쉽게 얻을 수 있습니다. 예: 🎜rrreee🎜위 쿼리에서 Country::with('user ')Country::user()에 의해 정의된 연결의 사용자 레코드를 반환합니다. 이러한 컬렉션은 다음과 같이 반환된 컬렉션에서 액세스할 수 있습니다: 🎜rrreee🎜 Summary🎜🎜 Laravel Eloquent ORM은 개발자를 위한 데이터베이스 상호 작용의 복잡성을 단순화하는 Laravel 프레임워크의 최고의 기능 중 하나입니다. 데이터베이스 연결을 설정하고, 모델을 생성하고, 관계를 정의함으로써 데이터베이스에서 데이터와 쉽게 상호 작용하고 검색할 수 있습니다. Laravel을 사용할 때 Laravel Eloquent ORM을 사용하여 데이터베이스 모델을 보다 효율적이고 능률적으로 구축하는 것을 잊지 마십시오. 🎜

위 내용은 Laravel 개발: Laravel Eloquent를 사용하여 모델을 구축하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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