>  기사  >  PHP 프레임워크  >  Laravel에서 데이터베이스를 작동하는 방법

Laravel에서 데이터베이스를 작동하는 방법

PHPz
PHPz원래의
2023-04-21 10:05:461026검색

Laravel은 코딩 단순화, 개발 효율성 향상, 유지 관리 용이 등 개발자에게 많은 편의를 제공하는 매우 뛰어난 PHP 프레임워크입니다. 동시에 Laravel은 다양한 데이터베이스 작업 방법을 지원하므로 개발자가 데이터베이스 작업을 더 쉽게 수행할 수 있습니다. 이번 글에서는 Laravel 프레임워크에서 데이터베이스 작업을 수행하는 방법을 소개하겠습니다.

1단계: 데이터베이스 정보 설정

먼저 Laravel 프로젝트에서 데이터베이스 정보를 구성해야 합니다. 이는 데이터베이스 유형, 호스트 주소, 포트, 데이터베이스 이름, 사용자 이름 및 비밀번호와 같은 정보를 포함하는 config/database.php 파일에서 구성할 수 있습니다.

Laravel에서는 여러 데이터베이스를 지원할 수 있습니다. 따라서 config/database.php에서 이를 구성해야 합니다. 예:

'connections' => [

    'mysql' => [
        'driver' => 'mysql',
        'host' => env('DB_HOST', '127.0.0.1'),
        'port' => env('DB_PORT', '3306'),
        'database' => env('DB_DATABASE', 'forge'),
        'username' => env('DB_USERNAME', 'forge'),
        'password' => env('DB_PASSWORD', ''),
        'unix_socket' => env('DB_SOCKET', ''),
        'charset' => 'utf8mb4',
        'collation' => 'utf8mb4_unicode_ci',
        'prefix' => '',
        'strict' => true,
        'engine' => null,
    ],

    'mysql2' => [
        'driver' => 'mysql',
        'host' => env('DB2_HOST', '127.0.0.1'),
        'port' => env('DB2_PORT', '3306'),
        'database' => env('DB2_DATABASE', 'forge'),
        'username' => env('DB2_USERNAME', 'forge'),
        'password' => env('DB2_PASSWORD', ''),
        'unix_socket' => env('DB2_SOCKET', ''),
        'charset' => 'utf8mb4',
        'collation' => 'utf8mb4_unicode_ci',
        'prefix' => '',
        'strict' => true,
        'engine' => null,
    ],

여기서는 서로 다른 데이터베이스에 해당하는 mysql과 mysql2라는 두 개의 데이터베이스 연결이 정의되어 있음을 볼 수 있습니다.

각 데이터베이스의 관련 구성은 .env 파일에서 지정할 수 있습니다:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=database_name
DB_USERNAME=database_username
DB_PASSWORD=database_password

DB_CONNECTION=mysql2
DB_HOST=127.0.0.1
DB_PORT=3306
DB2_DATABASE=database2_name
DB2_USERNAME=database2_username
DB2_PASSWORD=database2_password

이러한 구성 정보는 Laravel 애플리케이션에서 사용됩니다.

2단계: 모델 구축

Laravel 프레임워크에서는 모델을 사용하여 데이터베이스와 상호 작용할 수 있습니다. 모델은 데이터베이스에서 데이터를 처리하는 데 사용되는 클래스입니다. 모델을 사용하면 데이터베이스 테이블을 PHP 클래스에 매핑할 수 있어 데이터베이스를 보다 편리하게 운영할 수 있습니다.

Artisan 명령줄 도구를 사용하여 모델을 빠르게 생성하세요. 예:

php artisan make:model User

이렇게 하면 테이블, 기본 키, 타임스탬프 및 기타 정보를 정의할 수 있는 app/Models 디렉터리에 User라는 모델 클래스가 생성됩니다.

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class User extends Model
{
    protected $table = 'user';
    protected $primaryKey = 'id';
    public $timestamps = true;
}

3단계: 데이터 쿼리

Laravel에서는 Eloquent ORM을 통해 데이터베이스 쿼리를 쉽게 수행할 수 있습니다. 모델을 사용하면 테이블을 쉽게 쿼리할 수 있습니다. 예를 들어, 다음 Eloquent 메소드를 사용하여 "User" 테이블의 모든 레코드를 가져올 수 있습니다:

use App\Models\User;

$users = User::all();

findOrFail 메소드를 사용하여 레코드를 찾을 때 모델 ID와 함께 이 메소드를 사용할 수 있습니다:

$user = User::findOrFail(1);

특정 레코드를 쿼리할 때 , where 메소드를 사용할 수 있습니다:

use App\Models\User;

$users = User::where('name', 'John')->get();

다음과 같은 다른 쿼리 조건을 사용할 수도 있습니다:

$user = User::where('name', 'John')->first();
$users = User::select('name')->distinct()->get();
$users = User::orderBy('name', 'desc')->take(10)->get();

4단계: 데이터 삽입

Laravel 프레임워크에 데이터를 삽입하는 것은 매우 간단합니다. 모델을 사용하여 새 레코드를 생성할 때 다음 코드를 사용할 수 있습니다.

$user = new User;
$user->name = 'John';
$user->email = 'john@example.com';
$user->save();

클래스에서 create 메소드를 사용하여 한 번에 여러 개의 새 레코드를 생성할 수도 있습니다.

User::create([
    'name' => 'Jane',
    'email' => 'jane@example.com',
]);

5단계: 데이터 업데이트

다음을 통해 데이터 업데이트 모델도 매우 쉽습니다. 다음 코드를 통해 레코드를 업데이트할 수 있습니다.

$user = User::find(1);

$user->email = 'john.doe@example.com';

$user->save();

일괄적으로 레코드를 업데이트할 수도 있습니다.

User::where('name', 'John')->update(['email' => 'john.doe@example.com']);

6단계: 데이터 삭제

데이터 삭제는 데이터 업데이트와 유사합니다. 단일 레코드를 삭제하려면 다음 명령을 사용하세요.

$user = User::find(1);

$user->delete();

여러 레코드를 삭제해야 하는 경우 다음 명령을 사용할 수 있습니다.

User::where('name', 'John')->delete();

삭제 방법을 사용하면 데이터베이스에서 레코드가 영구적으로 삭제됩니다. 영구적으로 삭제하는 대신 일시 삭제 기능을 사용하여 다른 테이블로 이동할 수 있습니다.

요약

Laravel ORM은 프로그래머에게 데이터베이스를 운영할 수 있는 강력한 도구를 제공합니다. 위의 단계를 통해 데이터베이스 쿼리, 삽입, 업데이트, 삭제를 쉽게 수행할 수 있습니다. 민감한 데이터는 세심한 주의와 올바른 행동으로 처리되어야 한다는 점은 주목할 가치가 있습니다. 이 글이 라라벨에서 데이터베이스를 운영하는데 도움이 되기를 바랍니다.

위 내용은 Laravel에서 데이터베이스를 작동하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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