Laravel-5 LIKE 동등(Eloquent) 쿼리 비교
이 질문은 Laravel-5를 사용한 데이터베이스 쿼리에서 LIKE 연산자의 사용법을 살펴봅니다. 웅변. 제공된 코드:
BookingDates::where('email', Input::get('email')) ->orWhere('name', 'like', Input::get('name'))->get()
지정된 이메일과 일치하거나 이름 필드에 특정 문자열이 포함된 결과를 검색하는 것을 목표로 합니다. 그러나 orWhereLike 조건은 결과를 생성하지 않습니다.
다음과 동일한 쿼리를 생성하려는 의도입니다.
select * from booking_dates where email='[email protected]' or name like '%John%'
Solution
To 이 문제를 해결하려면 LIKE 절 내에서 '...' 대신 '%...'%를 사용하는 것이 좋습니다. 이렇게 하면 원하는 필드 내에서 지정된 문자열을 찾을 수 있습니다. 또는 더 깔끔한 구문을 위해 ->orWhereLike 대신 ->whereLike를 사용할 수 있습니다.
BookingDates::where('email', Input::get('email')) ->orWhere('name', 'like', '%' . Input::get('name') . '%') ->get();
데이터베이스 로깅
생성된 SQL 쿼리가 있으면 dd(DB::getQueryLog()) 함수를 사용하여 실행된 쿼리를 검사하고 잠재적인 오류를 식별할 수 있습니다. 이는 문제를 해결하고 쿼리가 예상대로 작동하는지 확인하는 데 도움이 될 수 있습니다.
위 내용은 Laravel 5 Eloquent의 `orWhere`에서 LIKE 연산자를 올바르게 사용하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!