[SQL] Laravel 고급 알의 방법 함수에 변수를 전달하는 방법?
SQLLaravel 고급 알의 방법 함수에 변수를 전달하는 방법?
문서의 예 :
DB::table('users')
->whereExists(function($query)
{
$query->select(DB::raw(1))
->from('orders')
->whereRaw('orders.user_id = users.id');
})
->get();
그러나 나는 그 같은 외부 변수를 사용하기 위해 무엇을해야하는 경우 :
->where('city_id', '=', $this->city->id)
->where(function($query)
{
$query->where('name', 'LIKE', '%'.$searchQuery.'%')
->orWhere('address', 'LIKE', '%'.$searchQuery.'%')
})
지금 나는 새로운 속성을 생성 $ this->를 통해 액세스,하지만 더 편리한 방법은 무엇입니까?
해결법
-
==============================
1.당신은 사용 키워드 폐쇄에 부모 범위에서 필요한 변수를 전달할 수 있습니다.
당신은 사용 키워드 폐쇄에 부모 범위에서 필요한 변수를 전달할 수 있습니다.
예를 들면 :
DB::table('users')->where(function ($query) use ($activated) { $query->where('activated', '=', $activated); })->get();
더 여기에합니다.
PHP 7.4 상세이 조금 덜하게 기능 화살표라는 익명 함수의 짧은 변화는 소개합니다 (2019 년 11 월 28 일 발매 예정).
기능적으로 등가 인 약 7.4 PHP 사용 예 (아래 3 탄 지점 참조) :
DB::table('users')->where(fn($query) => $query->where('activated', '=', $activated))->get();
일반 구문에 비해 차이점 :
-
==============================
2.@kajetons '대답은 완벽하게 작동합니다.
@kajetons '대답은 완벽하게 작동합니다.
또한처럼 전달하여 여러 변수를 전달할 수 있습니다 사용 ($ var1에를, $ VAR2)
DB::table('users')->where(function ($query) use ($activated,$var2) { $query->where('activated', '=', $activated); $query->where('var2', '>', $var2); })->get();
-
==============================
3.당신이 Laravel의 웅변을 사용하는 경우는 물론이 시도 할 수 있습니다.
당신이 Laravel의 웅변을 사용하는 경우는 물론이 시도 할 수 있습니다.
$result = self::select('*') ->with('user') ->where('subscriptionPlan', function($query) use($activated){ $query->where('activated', '=', $roleId); }) ->get();
-
==============================
4.이 작업을 사용하여 변수를 전달할 수 있습니다 ...
이 작업을 사용하여 변수를 전달할 수 있습니다 ...
$status =1; $info = JOBS::where(function($query) use ($status){ $query->where('status',$status); })->get(); print_r($info);
from https://stackoverflow.com/questions/29548073/laravel-advanced-wheres-how-to-pass-variable-into-function by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] MySQL은 - 열에서 문자를 교체 (0) | 2020.05.08 |
---|---|
[SQL] 어떻게 PostgreSQL의 쿼리에서 행 번호를 표시합니다? (0) | 2020.05.08 |
[SQL] 정체성 대 순서 (0) | 2020.05.08 |
[SQL] T-SQL에서 정렬 된 테이블에서 행 M부터 N 행을 얻는 방법 (0) | 2020.05.08 |
[SQL] SQL은 : 첫 글자를 대문자 만 [중복] (0) | 2020.05.08 |