2017-04-05 40 views
0

卡住的表單允許用戶在兩​​個字段中選擇一個值。我可以使用一個字段查詢數據庫,但希望爲數據庫查詢添加更多範圍。使用下面的代碼,當我嘗試訪問該頁面查詢時,只顯示一個白色屏幕。laravel 5.2 if else to query database

public function index() 
{ 
    $data = $request->all(); 

    if(!empty($data['pstoreNum'])) 
    { 
    $pstoreNum = $data['pstoreNum']; 


    $result = DB::table('perfumes')->where('StoreNumber','=',$pstoreNum) 
       ->get(); 

    return view('perfumes',compact('result')); 
    } 
    else if(!empty($data['pweekNum'])) 
    { 
     $pweekNum = $data['pweekNum']; 


     $result = DB::table('perfumes')->where('WeekNumber','=',$pweekNum) 
      ->get(); 

     return view('perfumes',compact('result')); 
    } 

    } 

我的路由文件簡單調用索引函數。任何幫助,將不勝感激。

回答

1

你可以像這樣

public function index(Request $request) 
{ 
    $data = $request->all(); 

    $result = \DB::table('perfumes')->where(function($query) use ($data) { 
     if(!empty($data['pstoreNum'])) { 
      $query->where('StoreNumber', '=', $data['pstoreNum']); 
     } 
     if(!empty($data['pweekNum'])) { 
      $query->where('WeekNumber', '=', $data['pweekNum']); 
     } 
    })->get(); 

    return view('perfumes',compact('result')); 

    } 

然後,您可以使用一個查詢和各種條件添加多個哪來你的查詢中添加查詢功能。

https://laravel.com/docs/5.2/queries#advanced-where-clauses

+0

錯誤消息未定義變量:請求 – PA060

+0

這一定是從上你提供的標記的誤差。嘗試添加請求$請求到函數。只要你張貼到功能索引 –

+0

感謝您的答覆。使用請求$請求,然後錯誤消息的數據庫沒有找到所以添加使用數據庫和作品。 – PA060

相關問題