2017-03-23 2 views
0

Hallo Leute, ich bin neu bei Laravel, also wurde ich verwirrt. Jemand bitte meine Zweifel klar, hier ist meine Ansicht:sein Wurffehler Ungültiges Argument für foreach()

@foreach ($users as $user) 
<span class="badge bg-important">{{ $user}}    
    </span> 
@endforeach; 

Hier ist mein Controller:

public function notification() 
{ 
    $users = DB::table('users')->where("Active", 0)->count(); 
    return view('admin.layout.master',compact($users)); 
} 

Es wirft Fehler;

Invalid argument für foreach geliefert()

und wenn ich entfernen foreach es funktioniert gut kann meine Zweifel klar jemand, warum treten diese

Antwort

0

ändern

compact($users) 

zu

compact('users') 

Der Parameter ist der Name der Variablen nicht die tatsächliche vaiable selbst

+0

Ich habe es bereits seine Arbeit, wenn ich foreach-Schleife entfernen weiß nicht, warum dies dank geschehen für Sie –

+0

Ihre Fehler antworten sagt, dass ist es s kein Array – meda

0

Zuerst wird, wie @meda angegeben, können Sie Ihre compact() Anweisung beheben müssen.

Das andere Problem ist, dass Ihre $users Variable auf eine Ganzzahl gesetzt wird, nicht die Sammlung von Benutzern. Momentan zählen Sie nur die aktiven Benutzer, ohne sie zu erhalten.

ändern

$users = DB::table('users')->where("Active", 0)->count(); 

Um

$users = DB::table('users')->where("Active", 0)->get(); 
Verwandte Themen