2017-06-01 2 views
0

Ich habe Unterkategorien zu meiner App mit Hilfe von hier Adding subcategories to laravel 5.4 hinzugefügt und davor meine Suche Basis auf category funktionierte gerade gut, ich versuche, meine Suche Basis auf subcategory zu ändern, und es gibt keine Ergebnisse zurück.Laravel nicht zurück Unterkategorien Ergebnis

hier ist meine Suchfunktion:

public function search() 
{ 
    $searchTitle = request('title'); 
    $searchCategory = request('subcategory'); 
    $searchLocation = request('location'); 

    $ads = null; 

    if($searchTitle || $searchCategory || $searchLocation) { 
     $ads = Ad::when($searchTitle, function ($query) use ($searchTitle) { 
       return $query->where('title', 'like', "%{$searchTitle}%") 
        ->orWhere('description', 'like', "%{$searchTitle}%"); 
      }) 
      ->when($searchCategory, function ($query) use ($searchCategory) { 
       return $query->whereHas('subcategory', function ($query) use ($searchCategory) { 
        $query->where('id', $searchCategory); 
       }); 
      }) 
      ->when($searchLocation, function ($query) use ($searchLocation) { 
       return $query->whereHas('location', function ($query) use ($searchLocation) { 
        $query->where('id', $searchLocation); 
       }); 
      }) 
      ->paginate(10) 
      ->appends(request()->query()); 
    } 

    return view('search-result', compact('ads')); 
} 

dies ist mein Suchformular Kategorie Teil:

<label data-toggle="tooltip" data-placement="top" title="select category" class="sr-only mr-sm-2" for="inlineFormCustomSelect">Category</label> 
       <select name="subcategory_id" data-toggle="tooltip" data-placement="top" title="select category" 
         class="custom-select mb-2 mr-sm-2 mb-sm-0" id="inlineFormCustomSelect"> 
         <option value="">Select category</option> 
         @foreach ($categories as $category) 
         <optgroup label="{{ $category->name }}"> 
          @foreach($category->subcategories as $sub) 
           <option value="{{ $sub->id }}">{{ $sub->name }}</option> 
          @endforeach 
         </optgroup> 
         @endforeach 
       </select> 

ich viele Änderungen ausprobiert und mit mu Funktionscode gespielt, aber es wird nichts zurückgeben noch no results! Fehler.

+0

Haben Sie dd zu wissen versucht Was bekommst du von dieser Frage? –

+0

@PrafullaKumarSahu nein, wo sollte ich dd() und mit welchem ​​Attribut ?! – djhru

+0

paginate entfernen und dd ($ ads) versuchen. –

Antwort

1

sollte dies wahrscheinlich

$ads = Ad::when($searchTitle, function ($query) use ($searchTitle) { 
    return $query->where('title', 'like', '%'.$searchTitle.'%') 
     ->orWhere('description', 'like', '%'.$searchTitle.'%'); 
}) 
->when($searchCategory, function ($query) use ($searchCategory) { 
    return $query->whereHas('subcategory', function ($q) use ($searchCategory) { 
     $q->where('id', $searchCategory); 
    }); 
}) 
->when($searchLocation, function ($query) use ($searchLocation) { 
    return $query->whereHas('location', function ($q) use ($searchLocation) { 
     $q->where('id', $searchLocation); 
    }); 
}) 
->paginate(10) 
->appends(request()->query()); 

auch .. die Namen Ihrer Eingaben vergessen Sie nicht, arbeiten sie als entsprechend der Anforderung sein sollte ..

+0

funktioniert nicht ..... – djhru

+0

danke Mann arbeitet jetzt :) – djhru

Verwandte Themen