Laravel
검색시 공백 오류
rediate.will
2020. 7. 15. 15:03
우리 회사 홈페이지에 검색 기능이 있더랜다.
검색어는
"Business Data Analyst (비즈니스 데이터 분석)"
이다. 중요 요점은 가운데 analyst(공백2개)(비즈니스 데이터...라는 거다.
저눔의 공백2개-_-
저장할때 저렇게 저장해서 db에도 저장된 값은 공백 2개로 저장이 됐다.
정상적이지. 그래.
근데 크롬에서는 얘가 공백 한개로 보인다.
오랜 css오류라는데, white-space: pre;를 주면 2개로 표시는 된다.
이게 해결 방법은 아닌거 같다.
만약 컨트롤 cv안하고 일일이 타자쳐서 검색하면
또 안나올거 아닌가?
그래서 오랜시간 고심했지만 난 못찾아냈지만 우리 사수님은 찾아내셨다.
$query->where($field, 'like', '%' . preg_replace('/[ ]+/', '%', $word) . '%');
규식이 형으로 공백을 찾아내서 %로 치환하는 형태이다.
이렇게 하면 제대로 검색이 되고, 잘 나온다.
나는 처음에 규식이형으로 공백을 다 찾아내서 저장할때 아예 공백은 무조건 한칸으로 저장되도록 하는 방법을 제안했었다.
빠꾸먹었지만 ㅋ
여튼 비슷한 방향으로는 갔다고 생각한다. 내가 별로 도움 된건 없지만 뿌-듯.
검색할땐 %단어1%단어2%로 하자.
+. 이 방법은 결국 공백을 모두 제거하는 방법도 있었는데,
공백을 모두 제거 하면 한 단어로 만든다음 검색하는 방식인듯?