2016-05-07 1 views
0

Ich versuche, eine Variable in meiner Abfrage übergeben. Aber Fehler tritt auf: "undefinierte Variable $month"Laravel5.0: während Variable in Abfrage-Funktion übergeben, zeigt es undefined Variable

hier ist mein Controller Teil

public function due(Request $request){ 

    if (strtoupper($_SERVER['REQUEST_METHOD']) == 'POST') { 

     $month = $request->month; 
     if(isset($month)) { 
      try { 
       $val=DB::connection()->getDatabaseName(); 
       if(DB::connection()->getDatabaseName()) { 
        $month=$month; 
        $bRecord=DB::table('clients')->whereNotIn('ClientID', function($q){ 
         $q->select('ClientID')->from('bills') 
          ->where(function ($query) use($month) { //it shows $month is undefined, but why ?? 
           $query->whereMonth('Date', '=', $month); 
          }); 
        })->paginate(10); 
        return view('bills.dueRecord')->with('bRecord', $bRecord); 
       }else{ 
        $er="/connection status: database error"; 
        return view('home')->with('error',$er);   //'error' is passed to home 
       } 

      } catch (\Exception $e){ 
       $er="/connection status: database error"; 
       return view('errors/503')->with('error',$er); 
      } 
     } 

    }else{ 


    } 
+0

Sind Sie sicher, diese $ Anfrage-> Monat gibt einen Wert zurück? – john

+0

Haben Sie einen Beitrag var Name 'Monat'? – Grommy

+0

'$ Anfrage-> Monat()' fehlt die() – Mihai

Antwort

0

meine Antwort. Ich muss den Umfang von $ Monat nur zweimal in der Abfrage übergeben.

$bRecord=DB::table('clients')->whereNotIn('ClientID', function($q) use($month){ 
         $q->select('ClientID')->from('bills') 
          ->where(function ($query) use($month) { 
           $query->whereMonth('Date', '=', $month); 
          }); 
        })->paginate(10);