>  기사  >  PHP 프레임워크  >  Laravel에서 데이터를 삭제하고 수정하는 방법

Laravel에서 데이터를 삭제하고 수정하는 방법

PHPz
PHPz원래의
2023-03-31 13:52:231223검색

Laravel은 흔히 사용되는 기능인 데이터 삭제, 수정 등 풍부한 기능과 편리한 조작으로 인해 매우 우수한 PHP 프레임워크로 많은 개발자들에게 사랑받고 있습니다. 라라벨에서 데이터를 삭제하고 수정하는 방법을 간략하게 소개하겠습니다.

1. 데이터 삭제

1.1 단일 데이터 삭제

Laravel에서 단일 데이터를 삭제하려면 먼저 Eloquent를 통해 삭제할 데이터 객체를 얻은 다음 해당 객체의 delete() 메서드를 호출해야 합니다. . 예:

$user = User::find(1);
$user->delete();

위 코드는 ID 1의 사용자 레코드를 삭제합니다. 삭제할 데이터가 존재하지 않는 경우 예외가 발생하지 않고 직접 반환된다는 점에 유의하세요.

1.2 데이터 일괄 삭제

때때로 많은 양의 데이터를 동시에 삭제해야 하는 경우가 있습니다. delete()에 대한 순환 호출로 인해 발생하는 성능 문제를 피하기 위해 Laravel은 where와 delete 메소드의 조합을 제공합니다. 일괄 삭제. 예:

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

위 코드는 18세 미만의 모든 사용자 기록을 삭제합니다.

1.3 소프트 삭제

실제 응용 프로그램에서 데이터 삭제는 반드시 물리적 삭제는 아니며 논리적 삭제일 수도 있습니다. Laravel은 데이터베이스에서 직접 삭제하는 대신 데이터가 삭제되면 삭제된 것으로 표시하는 일시 삭제 기능을 제공합니다. 먼저 데이터 모델에서 $dates 속성을 정의해야 합니다.

protected $dates = ['deleted_at'];

그런 다음 소프트 삭제를 사용합니다. 모델에서 SoftDeletes 인터페이스를 구현하고 delete() 메서드를 호출하면 됩니다.

use Illuminate\Database\Eloquent\SoftDeletes;

class User extends Model
{
    use SoftDeletes;

    protected $dates = ['deleted_at'];
}

$user = User::find(1);
$user->delete();

위 코드는 사용자를 ID로 기록합니다. 1 삭제된_at 필드는 데이터베이스에서 직접 삭제되지 않고 현재 시간으로 설정됩니다. withTrashed() 메서드를 사용하여 일시 삭제된 데이터를 쿼리하거나 forceDelete() 메서드를 사용하여 일시 삭제된 데이터를 영구적으로 삭제할 수 있습니다.

2. 데이터 수정

2.1 단일 데이터 수정

Laravel에서 단일 데이터 수정은 새 데이터를 추가하는 것과 매우 유사합니다. 먼저 Eloquent를 통해 수정할 데이터 객체를 얻은 다음 해당 속성 값을 수정하고 마지막으로 save() 메소드를 호출해야 합니다. 예:

$user = User::find(1);
$user->name = '小明';
$user->age = 20;
$user->save();

위 코드는 ID가 1인 사용자 레코드의 이름 필드를 "Xiao Ming"으로 설정하고 연령 필드를 20으로 설정합니다.

2.2 일괄적으로 데이터 수정

Laravel은 여러 데이터의 지정된 속성 값을 동시에 수정할 수 있는 업데이트 방법을 제공합니다. 예:

User::where('age', '<&#39;, 18)->update(['age' => 20]);

위 코드는 18세 미만의 모든 사용자 기록의 연령 필드를 20세로 설정합니다.

  1. Summary

데이터 삭제 및 수정은 라라벨 개발에서 가장 기본적인 작업 중 하나입니다. 위에서는 라라벨의 삭제 및 수정 작업과 관련된 기능과 사용법을 간략하게 소개했습니다. 이러한 작업은 매우 편리하고 실용적인 Eloquent ORM을 기반으로 개발되었습니다.

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

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