추가하자면, 왜 이런 일이 일어나는지. 귀하의 요구 사항은 parentid를 where의 rvalue로 참조해야 한다는 것입니다. 그러나 laravel에서 where의 rvalue는 SQL이 될 수 없고 문자열, 값, 시간 등과 같은 일반 데이터 구조만 될 수 있습니다. 필드 이름(users.id)이나 SQL 함수가 포함된 이름은 사용할 수 없습니다. 이는 SQL 주입을 방지하기 위한 것입니다.
그래서 네이티브 SQL을 실행하려면 @ty0716이 언급한 원시 메서드만 사용할 수 있습니다.
방법 1
으아악방법 2
으아악@ty0716이 표준 답변입니다.
추가하자면, 왜 이런 일이 일어나는지.
귀하의 요구 사항은 parentid를 where의 rvalue로 참조해야 한다는 것입니다. 그러나 laravel에서 where의 rvalue는 SQL이 될 수 없고 문자열, 값, 시간 등과 같은 일반 데이터 구조만 될 수 있습니다. 필드 이름(
users.id
)이나 SQL 함수가 포함된 이름은 사용할 수 없습니다. 이는 SQL 주입을 방지하기 위한 것입니다.그래서 네이티브 SQL을 실행하려면 @ty0716이 언급한 원시 메서드만 사용할 수 있습니다.
아무도 모르나요?
으아악