>  기사  >  PHP 프레임워크  >  laravel 프레임워크 데이터베이스 수정

laravel 프레임워크 데이터베이스 수정

WBOY
WBOY원래의
2023-05-20 13:40:38811검색

Laravel은 데이터베이스 수정 프로세스를 단순화하는 다양한 편리한 기능과 도구를 제공하는 매우 인기 있는 PHP 웹 애플리케이션 개발 프레임워크입니다. 이 글에서는 Laravel 프레임워크의 데이터베이스 수정 관련 측면을 살펴보겠습니다.

  1. 데이터베이스 마이그레이션

Laravel 프레임워크에서 데이터베이스 마이그레이션은 데이터베이스 구조를 한 버전에서 다른 버전으로 이전하기 위한 편리한 도구입니다. 마이그레이션을 사용하면 테이블 생성 및 수정, 열 추가 또는 삭제, 인덱스 및 제약 조건 변경 등을 쉽게 수행할 수 있습니다. 마이그레이션 파일은 "database/migrations" 디렉터리에 저장됩니다. 각 마이그레이션 파일은 데이터베이스 마이그레이션 작업을 나타내며 데이터베이스 수정을 위한 "up" 및 "down" 메서드를 포함합니다. "php artisan migration" 명령을 실행하면 모든 미해결 마이그레이션 작업이 자동으로 수행됩니다.

다음은 "users" 테이블을 생성하기 위한 샘플 마이그레이션 파일입니다.

use IlluminateSupportFacadesSchema;
use IlluminateDatabaseSchemaBlueprint;
use IlluminateDatabaseMigrationsMigration;

class CreateUsersTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('users', function (Blueprint $table) {
            $table->increments('id');
            $table->string('name');
            $table->string('email')->unique();
            $table->string('password');
            $table->rememberToken();
            $table->timestamps();
        });
    }

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

마이그레이션 파일은 "Schema" 클래스의 정적 메서드를 사용하여 자동 증가 ID, 이름, 고유 등 "users" 테이블을 생성합니다. 이메일, 비밀번호, 타임스탬프 등의 열. "down" 방법에서는 "users" 테이블이 삭제됩니다.

  1. 데이터 채우기

Laravel 프레임워크에서 데이터 채우기는 테스트 데이터를 데이터베이스에 추가하는 프로세스입니다. 데이터 채우기를 사용하여 데이터베이스 작업을 테스트하고 시연하는 프로세스를 단순화합니다. 데이터 채우기 파일은 "database/seeds" 디렉터리에 저장됩니다. "php artisan db:seed" 명령을 실행하여 데이터를 채웁니다.

use IlluminateDatabaseSeeder;
use IlluminateSupportFacadesDB;
use IlluminateSupportFacadesHash;
use AppUser;

class UsersTableSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        DB::table('users')->delete();

        $users = array(
            array(
                'name' => 'admin',
                'email' => 'admin@admin.com',
                'password' => Hash::make('password'),
            ),
            array(
                'name' => 'user',
                'email' => 'user@user.com',
                'password' => Hash::make('password'),
            ),
        );

        foreach ($users as $user) {
            User::create($user);
        }
    }
}

이 파일은 두 명의 사용자를 생성하여 데이터베이스에 추가합니다. "password" 열은 Laravel의 "Hash" 클래스를 사용하여 암호화됩니다. "php artisan db:seed" 명령을 실행한 후 "users" 테이블에는 두 사용자에 대한 기록이 포함됩니다.

  1. 모델 관계

Laravel 프레임워크에서는 모델 간 연결을 생성하여 데이터베이스의 관련 데이터에 쉽게 액세스할 수 있습니다. 관계에는 일대일, 일대다, 다대다의 세 가지 유형이 있습니다. 모델에서 관계를 정의한 후에는 모델 자체와 마찬가지로 관련 데이터에 액세스할 수 있습니다.

예를 들어, "사용자" 모델과 "게시물" 모델이 있는 경우 "사용자" 모델에서 일대다 관계를 정의하고 사용자가 만든 모든 게시물에 쉽게 액세스할 수 있습니다.

class User extends Model
{
    /**
     * Get the posts for the user.
     */
    public function posts()
    {
        return $this->hasMany(Post::class);
    }
}

$user = User::find(1);

foreach ($user->posts as $post) {
    echo $post->title;
}

이것은 코드는 데이터베이스에서 사용자를 검색한 다음 사용자의 "posts" 속성을 통해 해당 사용자가 작성한 모든 게시물에 액세스하는 것에서 시작됩니다. "게시물" 모델에서 역관계를 정의하면 게시물 접근 시 해당 게시물을 작성한 사용자의 정보에 쉽게 접근할 수 있습니다.

요약

Laravel은 데이터베이스 수정 프로세스를 단순화하는 다양한 편리한 도구와 기능을 제공합니다. 마이그레이션을 사용하면 테이블 생성 및 수정, 열 추가 또는 삭제, 인덱스 및 제약 조건 변경 등을 쉽게 수행할 수 있습니다. 데이터 채우기를 사용하여 데이터베이스 작업을 테스트하고 시연하는 프로세스를 단순화합니다. 모델 간의 연관을 생성함으로써 데이터베이스의 관련 데이터에 쉽게 액세스할 수 있습니다. 데이터베이스 수정을 시작하기 전에 중요한 데이터를 백업하고 주의해서 진행하십시오.

위 내용은 laravel 프레임워크 데이터베이스 수정의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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