>백엔드 개발 >PHP 튜토리얼 >Eloquent 또는 Fluent를 사용하여 Laravel에서 임의의 행을 검색하는 방법은 무엇입니까?

Eloquent 또는 Fluent를 사용하여 Laravel에서 임의의 행을 검색하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-11 22:36:03342검색

How to Retrieve a Random Row in Laravel Using Eloquent or Fluent?

Eloquent 또는 Fluent를 사용하여 Laravel에서 임의 행 검색

데이터베이스에서 임의 행을 검색하는 것은 다양한 시나리오에서 유용한 작업이 될 수 있습니다. Laravel은 이를 달성하기 위해 Eloquent와 Fluent라는 두 가지 기본 방법을 제공합니다. 이 기사에서는 이러한 메서드를 활용하여 Laravel에서 임의의 행을 효율적으로 검색하는 방법을 살펴봅니다.

Eloquent

Laravel 버전 5.2 이상의 경우 inRandomOrder() 메서드는 다음을 제공합니다. 임의의 행을 선택하는 편리한 방법입니다. 원하는 모델에서 이 메서드를 호출하기만 하면 됩니다.

$randomUser = User::inRandomOrder()->get();

이렇게 하면 사용자 모델의 임의 인스턴스가 반환됩니다. Limit() 메소드를 사용하여 검색할 임의 행 수를 지정할 수도 있습니다:

$randomUsers = User::inRandomOrder()->limit(5)->get();

Fluent

Laravel 5.2 이전 버전의 경우 Fluent는 다음을 제공합니다. orderByRaw() 메서드를 사용하여 임의의 행을 검색하는 다른 방법:

// Laravel 5.1 and below
$randomUser = User::orderByRaw(DB::raw('RAND()'))->get();

행 개수 없이 임의의 레코드 검색

작업을 수행하지 않고 임의의 행을 검색하는 목표 count 작업은 성능 고려 사항에서 비롯됩니다. 대규모 데이터 세트의 경우 레코드 수를 계산하는 데 계산 비용이 많이 들 수 있습니다. SQL에서 RAND() 함수를 활용하면 계산에 따른 오버헤드 없이 효율적으로 임의의 행을 얻을 수 있습니다.

결론

이 기사에서 제시하는 방법은 다음과 같습니다. Eloquent 또는 Fluent를 사용하여 Laravel에서 임의의 행을 검색하는 효율적인 방법입니다. Laravel 5.2 이상의 inRandomOrder() 메소드는 선호되고 가장 간단한 접근 방식입니다. 이전 버전의 경우 Fluent는 orderByRaw() 메서드를 통해 실행 가능한 대안을 제공합니다.

위 내용은 Eloquent 또는 Fluent를 사용하여 Laravel에서 임의의 행을 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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