Laravel에서 Eloquent 또는 Fluent를 사용하여 임의 행 선택
데이터베이스 테이블에서 임의 행을 검색하는 것은 웹 애플리케이션에서 일반적인 작업입니다. Laravel은 Eloquent 또는 Fluent 쿼리 빌더를 사용하여 이 작업을 수행하는 여러 가지 방법을 제공합니다.
Eloquent(Laravel >= 5.2) 사용
Laravel 5.2부터 프레임워크는 임의의 행을 검색하는 편리한 방법을 제공하는 inRandomOrder() 메서드를 도입했습니다. 다음 코드는 이를 사용하는 방법을 보여줍니다.
$randomUsers = User::inRandomOrder()->get();
특정 개수의 무작위 레코드를 검색하려면limit() 메서드를 사용합니다.
$randomUsers = User::inRandomOrder()->limit(5)->get();
또는 무작위를 사용할 수도 있습니다. () 단일 무작위 레코드를 검색하기 위해 컬렉션에서 제공하는 메서드:
$randomUser = User::all()->random();
Fluent 사용 (Laravel < 5.2)
Laravel 5.2 이전 버전의 경우 Fluent의 orderByRaw() 메서드를 사용하여 결과를 무작위로 정렬할 수 있습니다.
$randomUsers = User::orderByRaw(DB::raw('RAND()'))->get();<p><strong>다음을 사용합니다. Fluent를 사용한 SQL</strong></p> <p>순수한 SQL 사용을 선호하는 경우 SQL의 경우 Fluent 문에 다음 쿼리를 작성할 수 있습니다.</p> <pre class="brush:php;toolbar:false">$randomUsers = DB::table('users')->orderByRaw('RAND()')->get();
이 접근 방식을 사용하려면 초기 쿼리 전에 레코드 수를 계산해야 하므로 대규모 데이터 세트에는 비효율적일 수 있습니다.
결론
Laravel에서 임의의 행을 선택하는 것은 Eloquent 또는 Fluent를 사용하여 수행할 수 있습니다. Eloquent의 inRandomOrder() 메소드는 Laravel 5.2 이상에서 이를 수행하는 가장 효율적이고 간단한 방법을 제공합니다. 이전 버전의 경우 Fluent의 orderByRaw() 메서드는 몇 가지 제한 사항이 있지만 실행 가능한 대안을 제공합니다.
위 내용은 Eloquent 또는 Fluent를 사용하여 Laravel에서 임의의 행을 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!