>백엔드 개발 >PHP 튜토리얼 >Laravel 프레임워크에서 데이터베이스 작업을 위해 Eloquent ORM을 사용하는 방법

Laravel 프레임워크에서 데이터베이스 작업을 위해 Eloquent ORM을 사용하는 방법

王林
王林원래의
2023-07-31 16:43:531050검색

Laravel 프레임워크에서 데이터베이스 작업을 위해 Eloquent ORM을 사용하는 방법

소개:
Laravel은 개발 프로세스를 단순화하기 위한 풍부한 기능과 도구를 제공하는 인기 있는 PHP 프레임워크입니다. 강력한 기능 중 하나는 데이터베이스 작업을 수행하는 우아하고 간결한 방법을 제공하는 Eloquent ORM입니다. 이 기사에서는 Eloquent ORM을 사용하여 Laravel 프레임워크에서 데이터베이스 작업을 수행하는 방법을 소개하고 몇 가지 실용적인 코드 예제를 제공합니다.

  1. 데이터베이스 연결 구성
    먼저 Eloquent ORM을 사용하기 전에 Laravel에서 데이터베이스 연결을 구성해야 합니다. 구성 파일 config/database.php를 열고 connections 배열을 찾아 데이터베이스 유형 및 자격 증명에 따라 구성하세요. 예: 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'   => 'utf8mb4',
        'collation' => 'utf8mb4_unicode_ci',
        'prefix'    => '',
        'strict'    => true,
        'engine'    => null,
    ],
    // 其他类型的数据库连接配置
],
  1. 定义模型
    在Eloquent ORM中,模型代表数据库中的一张表。我们可定义一个模型来与每个表进行交互。定义一个模型需要继承自IlluminateDatabaseEloquentModel类,并指定与之关联的表名。例如,我们有一个用户表users,可以创建一个User模型:
namespace AppModels;

use IlluminateDatabaseEloquentModel;

class User extends Model
{
    protected $table = 'users';
    // 其他模型的属性和方法
}
  1. 查询数据
    使用Eloquent ORM,我们可以使用各种方法来查询数据。以下是一些常用的方法和示例:
  • 查询所有数据:

    $users = User::all();
    foreach ($users as $user) {
      echo $user->name;
    }
  • 条件查询:

    $user = User::where('id', 1)->first();
    echo $user->name;
  • 排序和限制查询结果:

    $users = User::orderBy('created_at', 'desc')->take(10)->get();
    foreach ($users as $user) {
      echo $user->name;
    }
  • 使用where条件查询:

    $users = User::where('age', '>', 18)->get();
    foreach ($users as $user) {
      echo $user->name;
    }
  • 使用原生SQL查询:

    $users = User::select(DB::raw('count(*) as user_count'))->groupBy('account_id')->get();
    foreach ($users as $user) {
      echo $user->user_count;
    }
  1. 创建和更新数据
    使用Eloquent ORM,我们可以方便地创建和更新数据库中的记录。以下是一些示例:
  • 创建新记录:

    $user = new User;
    $user->name = 'John Doe';
    $user->email = 'johndoe@example.com';
    $user->save();
  • 更新现有记录:

    $user = User::find(1);
    $user->name = 'Jane Doe';
    $user->save();
  • 使用create方法创建记录:

    $user = User::create([
      'name' => 'John Doe',
      'email' => 'johndoe@example.com',
    ]);
  • 使用update方法更新记录:

    User::where('id', 1)->update(['name' => 'Jane Doe']);
  1. 删除数据
    使用Eloquent ORM,我们可以轻松地删除数据库中的记录。以下是一些示例:
  • 删除单个记录:

    $user = User::find(1);
    $user->delete();
  • 使用destroy方法删除多个记录:

    User::destroy([1, 2, 3]);
  • 使用delete

    User::where('age', '<', 18)->delete();

      모델 정의
  • Eloquent ORM에서 모델은 데이터베이스의 테이블을 나타냅니다. 각 테이블과 상호 작용하는 모델을 정의할 수 있습니다. 모델을 정의하려면 IlluminateDatabaseEloquentModel 클래스에서 상속하고 이와 연결된 테이블 이름을 지정해야 합니다. 예를 들어, users 사용자 테이블이 있고 User 모델을 생성할 수 있습니다:
rrreee

    Query data
    Use Eloquent ORM에서는 다양한 방법을 사용하여 데이터를 쿼리할 수 있습니다. 다음은 일반적으로 사용되는 몇 가지 방법과 예입니다.

    모든 데이터 쿼리:
  • rrreee
🎜조건부 쿼리: 🎜rrreee🎜🎜🎜쿼리 결과 정렬 및 제한: 🎜rrreee🎜🎜🎜사용 조건부 쿼리: 🎜rrreee🎜🎜🎜기본 SQL 쿼리 사용: 🎜rrreee🎜🎜
    🎜데이터 생성 및 업데이트🎜Eloquent ORM을 사용하면 데이터베이스에서 레코드를 쉽게 생성하고 업데이트할 수 있습니다. 다음은 몇 가지 예입니다. 🎜
🎜🎜🎜새 레코드 만들기: 🎜rrreee🎜🎜🎜기존 레코드 업데이트: 🎜rrreee🎜🎜🎜create 메서드를 사용하여 레코드 만들기: 🎜rrreee 🎜🎜🎜 update 메소드를 사용하여 레코드 업데이트: 🎜rrreee🎜🎜
    🎜Delete data🎜Eloquent ORM을 사용하면 데이터베이스의 레코드를 쉽게 삭제할 수 있습니다. 다음은 몇 가지 예입니다. 🎜
🎜🎜🎜단일 레코드 삭제: 🎜rrreee🎜🎜🎜 destroy 메서드를 사용하여 여러 레코드 삭제: 🎜rrreee🎜🎜🎜delete 사용 code >조건에 따라 레코드를 삭제하는 방법: 🎜rrreee🎜🎜🎜결론: 🎜Eloquent ORM을 사용하면 너무 많은 SQL 문을 작성하지 않고도 데이터베이스 작업을 쉽게 수행할 수 있습니다. 몇 줄의 간단한 코드만으로 데이터베이스의 레코드를 쿼리, 생성, 업데이트 및 삭제할 수 있습니다. 이 기사가 Laravel 프레임워크에서 데이터베이스 작업에 Eloquent ORM을 사용하는 데 도움이 되기를 바랍니다! 🎜🎜참조: 🎜🎜🎜Laravel 공식 문서: https://laravel.com/docs/8.x/eloquent🎜🎜

위 내용은 Laravel 프레임워크에서 데이터베이스 작업을 위해 Eloquent ORM을 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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