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 중국어 웹사이트의 기타 관련 기사를 참조하세요!