저는 최신 Laravel을 사용하고 있습니다. 5.4Laravel 열의 문자열 함수 적용 5.4
사용자를 검색하기 위해 간단한 쿼리를 만들려고합니다. MySQL 용으로 작성된 쿼리는 다음과 같습니다.
SELECT *
FROM users
WHERE upper(name) LIKE '%FOO%';
나는 이것을 Eloquent와 함께 사용하려고합니다. 상황이 내가 시도했지만 실패했습니다
User::where('upper(name)', 'LIKE', '%FOO%')->get()
DB::table('users')->where('upper(name)', 'LIKE', '%FOO%')->get()
모두 다음과 같은 오류와 함께 실패 :
Illuminate\Database\QueryException with message 'SQLSTATE[42S22]: Column not found: 1054 Unknown column 'upper(name)' in 'where clause' (SQL: select * from
users
whereupper(name)
LIKE %FOO%)'
쿼리는 웅변 때문에 실패 할 것 백도와 함께 upper(email)
문을 래핑합니다. ks ("`", "`"). 이 문제를 해결할 수있는 방법이 있습니까? 아니면 열을 대문자, 소문자, e.t.c로 변환하는 특수한 기능을 사용해야합니까?
같은 쿼리를 생성 할 SQL 삽입 또는 전달 된 문자열을 수동으로 이스케이프해야합니까? – dimlucas
Nope. 그것도 SQL 주입에 반대하지 않습니다. – Muthu17