programing

Laravel의 웅변적인 "IN" 쿼리를 만드는 방법

randomtip 2022. 9. 11. 16:42
반응형

Laravel의 웅변적인 "IN" 쿼리를 만드는 방법

여기와 같은 Laravel Armetic의 쿼리를 원시 MySQL 쿼리로 만들고 싶다.

SELECT  * from  exampleTbl where id in(1,2,3,4)

Laravel Articul에서 시도했지만 효과가 없습니다.

DB::where("id IN(23,25)")->get()

웅변은 다음과 같습니다.

$users = User::whereIn('id', array(1, 2, 3))->get();

Query Builder를 사용하는 경우:

$users = DB::table('users')->whereIn('id', array(1, 2, 3))->get();

Query Builder를 사용 중인 경우 Blow를 사용할 수 있습니다.

DB::table(Newsletter Subscription)
->select('*')
->whereIn('id', $send_users_list)
->get()

만약 당신이 웅변술로 일하고 있다면 다음과 같이 사용할 수 있습니다.

$sendUsersList = Newsletter Subscription:: select ('*')
                ->whereIn('id', $send_users_list)
                ->get();

구문:

$data = Model::whereIn('field_name', [1, 2, 3])->get();

사용자 모델에 사용

$usersList = Users::whereIn('id', [1, 2, 3])->get();

@Raheel 답변대로라면 문제없겠지만Laravel 6/7

그런 다음 웅변을 사용합니다.whereIn질문하다.

예 1:

$users = User::wherein('id',[1,2,3])->get();

예 2:

$users = DB::table('users')->whereIn('id', [1, 2, 3])->get();

예 3:

$ids = [1,2,3];

$users = User::wherein('id',$ids)->get();

Larabel 5.7 이후, 다음과 같은 방법이 있습니다.Integer In Raw.실행 시간이 whereIn보다 빠릅니다.

User::whereIn('id', [1, 2, 3])->get();

User::whereIntegerInRaw('id', [1, 2, 3])->get();

PR을 볼 수 있습니다.

아마도 당신은 사용하고 싶을 것이다.whereRaw($query)

고객님의 코드:

DB::where("id IN(23,25)")->get()

수신처:

DB::whereRaw("id IN(23,25)")->get()

언급URL : https://stackoverflow.com/questions/29115385/how-to-make-laravel-eloquent-in-query

반응형