>  기사  >  PHP 프레임워크  >  laravel에서 데이터를 업데이트하는 방법(간단한 방법 분석)

laravel에서 데이터를 업데이트하는 방법(간단한 방법 분석)

PHPz
PHPz원래의
2023-04-06 16:44:132228검색

Laravel은 웹 개발에 널리 사용되는 인기 있는 PHP 프레임워크입니다. Laravel에서 데이터 업데이트는 매우 일반적인 작업이므로 데이터 업데이트 방법을 익히는 것은 모든 Laravel 개발자가 갖춰야 할 기본 기술입니다. 이 글에서는 Laravel에서 데이터를 업데이트하는 방법을 자세히 설명합니다.

Laravel은 주로 Eloquent 모델과 쿼리 빌더라는 두 가지 측면에 중점을 두고 데이터를 업데이트하는 다양한 방법을 제공합니다.

Eloquent 모델은 Laravel의 ORM(객체 관계형 매핑) 도구로, 데이터베이스 테이블을 PHP 객체로 매핑하고 이러한 객체를 작동하기 위한 사용하기 쉽고 직관적인 API 세트를 제공합니다. Eloquent 모델을 사용하여 데이터 업데이트를 구현하는 것은 매우 간단합니다. 다음은 Eloquent 모델을 사용하여 데이터를 업데이트하는 기본 단계입니다:

  1. 먼저 업데이트하려는 데이터베이스 테이블을 나타내는 Eloquent 모델 클래스를 생성해야 합니다. Artisan 명령줄 도구를 사용하여 Eloquent 모델 클래스를 생성할 수 있습니다:
php artisan make:model User

이렇게 하면 app/Models 디렉터리에 User라는 이름의 Eloquent 모델 클래스가 생성됩니다.

  1. 그런 다음 Eloquent 모델 클래스의 정적 메소드 find() 또는 findOrFail()을 사용하여 업데이트하려는 레코드를 찾을 수 있습니다. 이 메소드는 주어진 ID와 일치하는 데이터베이스 테이블의 레코드를 나타내는 Eloquent 모델 객체를 반환합니다. 예를 들어 다음 코드는 ID로 사용자 레코드를 찾습니다.
$user = User::find(1);

위 코드에서는 ID가 1인 사용자 레코드를 찾습니다. 레코드가 존재하지 않으면 find() 메서드는 null을 반환하고 findOrFail() 메서드는 예외를 발생시킵니다.

  1. 다음으로 Eloquent 모델 객체의 속성을 사용하여 레코드를 업데이트할 수 있습니다. 예를 들어, 다음 코드는 사용자 이름을 "John"에서 "Jane"으로 변경합니다.
$user->name = 'Jane';
$user->save();

위 코드에서는 먼저 name 속성의 값을 "Jane"으로 변경한 다음 모델 객체의 save( ) 변경 사항을 데이터베이스에 다시 저장하는 메서드입니다.

  1. 마지막으로 업데이트가 성공했는지 확인할 수 있습니다. 예를 들어, 업데이트된 레코드를 출력하여 성공적으로 업데이트되었는지 확인할 수 있습니다.
echo $user;

위 코드에서는 간단히 $user 객체를 출력하고 Laravel은 쉽게 출력할 수 있도록 자동으로 문자열로 변환합니다.

위 단계에서는 Eloquent 모델을 사용하여 데이터베이스 레코드를 업데이트하는 방법을 보여줍니다. 실제 애플리케이션 관점에서 보면 단일 레코드가 아닌 여러 데이터베이스 레코드를 업데이트해야 할 수도 있습니다. 또한 복잡한 필터 조건 세트를 기반으로 데이터베이스 레코드를 업데이트해야 할 수도 있습니다. 이러한 경우를 위해 Laravel은 보다 유연하고 강력한 쿼리 빌더 API를 제공합니다.

쿼리 빌더는 Laravel의 또 다른 주요 기능입니다. 이를 통해 복잡하고 재사용 가능한 데이터베이스 쿼리를 구축할 수 있으며 업데이트 작업을 포함한 다양한 데이터베이스 작업을 수행할 수 있는 풍부한 API를 제공합니다. 쿼리 빌더를 사용하여 데이터를 업데이트하는 기본 단계는 다음과 같습니다.

  1. 먼저 업데이트할 레코드를 결정하는 쿼리를 작성해야 합니다. Table Builder나 Query Builder를 사용하여 이 작업을 수행할 수 있습니다. 여기서는 쿼리 빌더를 예로 들어 보겠습니다. 사용자 테이블에서 "John"이라는 이름의 모든 레코드를 업데이트한다고 가정하면 다음과 같은 쿼리를 구성할 수 있습니다.
DB::table('users')
   ->where('name', '=', 'John')
   ->update(['name' => 'Jane']);

위 코드는 연결된 방식으로 여러 메서드를 호출합니다. 먼저 table() 메서드를 사용하여 쿼리할 테이블을 지정한 다음 where() 메서드를 사용하여 "John"이라는 이름의 레코드만 업데이트하는 필터 조건을 추가합니다. 마지막으로 update() 메서드를 사용하여 "John"의 이름을 "Jane"으로 변경합니다.

  1. 또 다른 중요한 점은 거래 활용입니다. 여러 레코드를 업데이트할 때 모든 업데이트 작업이 성공적으로 완료되었는지 확인해야 합니다. 그렇지 않으면 모든 변경 사항을 롤백해야 합니다. Laravel을 사용하면 트랜잭션을 사용하여 작업의 원자성을 보장할 수 있습니다. 다음은 트랜잭션을 사용하는 샘플 코드입니다.
DB::transaction(function () {
    DB::table('users')
        ->where('name', '=', 'John')
        ->update(['name' => 'Jane']);

    DB::table('orders')
        ->where('user_id', '=', 1)
        ->update(['status' => 'completed']);
});

위 코드에서는 transaction() 메서드를 사용하여 트랜잭션의 업데이트 작업 집합을 래핑합니다. 이렇게 하면 모든 업데이트 작업이 성공적으로 완료됩니다. 그렇지 않으면 트랜잭션이 모든 변경 사항을 롤백합니다.

결론적으로 Laravel은 개발자에게 데이터베이스의 레코드를 효율적으로 업데이트할 수 있는 유연하고 강력한 API를 제공합니다. 이 기사에서는 Eloquent 모델과 쿼리 빌더를 사용하여 데이터를 업데이트하는 기본 단계를 설명하고 트랜잭션을 사용하여 작업의 원자성을 보장하는 방법을 설명합니다. 이러한 기술을 익히면 Laravel 개발자는 다양한 실제 애플리케이션 시나리오를 더 잘 처리할 수 있습니다.

위 내용은 laravel에서 데이터를 업데이트하는 방법(간단한 방법 분석)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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