2017-06-01 32 views
0

我添加子類別我與這裏Adding subcategories to laravel 5.4幫助應用程序,在此之前,在category我的搜索基礎工作就好了,現在我試圖改變我的subcategory搜索庫,並沒有返回結果。Laravel不會返回小類導致

這裏是我的搜索功能:

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')); 
} 

這是我的搜索表單類部分:

<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> 

我嘗試了許多變化,並與萬畝功能碼播放,但沒有仍將返回no results!錯誤。

+0

你試過DD知道你從那個查詢中得到什麼? –

+0

@PrafullaKumarSahu沒有我應該把dd()和什麼屬性?! – djhru

+0

刪除分頁並嘗試dd($ ads)。 –

回答

1

可能應該工作

$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()); 

也不要忘記你輸入的名字..它應該是對應於請求..

+0

不工作..... – djhru

+0

感謝現在工作的人:) – djhru

相關問題