Laravel을 사용하는 템플릿을 수정하려고하는데이 언어에 대해 매우 익숙합니다. 검색된 모든 용어와 일치하도록 검색 결과를 필터링하려고합니다.Laravel 복수 검색 단어와 일치합니다.
예를 들어, 사용자가 "Red"를 검색하면 검색 결과가 모두 빨간색 결과를 반환합니다. 사용자가 "트럭"을 검색하면 검색 결과 모든 트럭이 반환됩니다. 그러나 사용자가 "빨간색 트럭"을 검색하면 "빨간색"검색 결과와 "트럭"검색 결과가 모두 반환됩니다. 그래서 빨간 차와 빨간 자전거가 거기에있다. 그리고 노란 트럭 등. .. 그러나 나는 단지 "빨간 트럭"이 보이기를 바란다. 결과에 저장된 태그 중 하나가 없으면 표시하지 않으려합니다. 현재는 태그 중 하나만 포함하면 표시됩니다.
'태그'의 '위치'와 '위치'부분을 수정해야하며 '='으로 변경해야하지만, 시행 착오를 통해 해결할 수는 없습니다. 그래서 "레드 트럭"에 대한 검색 줄무늬
, 빨간색 저하, S10, 트럭, 광택, 사용자 정의한다 :
는 참고로, 빨간색 트럭의 업로드 된 사진은 태그 phpMyAdmin에 필드에 다음을 것 이 이미지를 반환하고 "빨간색" "자동차"는 포함하지 않습니다.
검색 텍스트 상자의 이름은 "q"이고 id는 "srch-term"입니다. "Red Truck"을 검색하면 브라우저에/q? = red + truck이 표시됩니다.
자료 코드 :
public function search($search, $timeframe = null)
{
$extends = explode(' ', $search);
$images = $this->posts($timeframe)->Where('tags', 'LIKE', '%' . $search . '%')
->whereNull('deleted_at')->whereNotNull('approved_at')->orderBy('approved_at', 'desc');
foreach ($extends as $extend) {
$images->orWhere('tags', 'LIKE', '%' . $extend . '%')->whereNotNull('approved_at')->whereNull('deleted_at');
}
return $images = $images->with('user', 'comments', 'favorites')->whereNotNull('approved_at')->whereNull('deleted_at')->paginate(perPage());
}
당신이에 의해 orwhere''대체하려고 했'where' 절, 당신은 결과 – YouneL
단일 용어 검색 작품으로 얻을 수 있지만, 여러 단어 검색 0 결과를 반환 할 것. – Levy4u
답변 됨. 그런 식으로 시도하십시오 –