2016-03-21 11 views
0

Ich versuche, Daten von meinem Controller an meine Sicht zu übergeben, bekomme aber einen undefinierten Variablenfehler. usersID ist eine Spalte in meiner MySQL-Tabelle.Laravel undefinierte Variable beim Versuch, Daten zur Ansicht zu übergeben

Hier ist der Code in meinem Controller

$arrayWithCount = DB :: table("users_has_activities") 
-> where("usersID", "=", 19) 
-> pluck("usersID"); 

$countNumber = sizeof($arrayWithCount); 

return view('pages.progress', ['countNumber' => $countNumber]); 

Ich habe auch die folgende Anweisung return ohne Erfolg versucht

return view::make('pages.progress') -> with('countNumber', $countNumber); 

ich auch den Puck versucht haben, Wende- und wo Klauseln ohne Erfolg, Ich hatte keine großen Hoffnungen, dass die Umkehrung das Problem lösen würde, aber ich dachte, ich würde es irgendwie versuchen. Unten ist der relevante Code in der Blade-Datei.

<?php echo $countNumber; ?> 

Dies ist der Fehler, den ich zur Zeit

immer bin
Undefined variable: countNumber 
+1

Versuchen Sie 'dd ($ countNumber);' vor der 'return view'-Klausel. Was zeigt es? –

+0

Ich habe eine dd ($ countNumber) hinzugefügt; Anweisung in meinem Controller, bevor ich die Ansicht zurück, aber ich bekomme immer noch den gleichen Fehler. Gibt es einen besonderen Ort, an den ich gehen muss, wo ich das Ergebnis von dd ($ countNumber) sehen kann; ? – ray

+2

Sind Sie sicher, dass Sie die richtige Methode ausführen? Weil 'dd()' etwas anzeigen und die Ausführung stoppen sollte. Überprüfen Sie Ihre Routen und Controller. –

Antwort

1

Ihr Code sieht gut aus, wenn dd() die Ausführung des Controllers nicht stoppt, dann wird ein anderer Controller ausgeführt. Überprüfen Sie also Ihre Routen und Controller.

0

Erste sizeofsizeOf sein sollte, und ist einfach ein Alias ​​für count(). Die meisten Leute würden count über sizeOf bevorzugen, da sizeOf (in vielen Sprachen) etwas anzeigen würde, das sich auf die Größe auf der Platte bezieht.

Anywho, das Zupfen eine Sammlung zurückgibt, haben Sie Zugriff auf count() direkt aus der Sammlung.

Sie können sich wahrscheinlich einfach so etwas wie:

$countNumber = $arrayWithCount->count(); 

Nebenbei bemerkt: Es sei denn, es einen bestimmten Grund, warum Sie <?php ?> verwenden, in Klinge, wäre es bevorzugt, {{ und }} zu verwenden.

+0

Ich versuchte mit count() vor, aber änderte es in sizeOf() in der Hoffnung, es würde die Fehler beheben, die es nicht getan hat. Ich korrigierte sizeOf() und versuchte es auch mit $ countNumber = $ arrayWithCount-> count(); aber immer noch den gleichen Fehler. – ray

0

Ich hatte den gesamten Controller-Code in einer Methode, die ich nicht anrief, daher wurde die Variable nie an die Blade-Datei übergeben. Die Methode wurde so eingerichtet, dass sie auf Knopfdruck aufgerufen wird, nachdem festgestellt wurde, dass alles funktioniert. Danke Alexey für die Hilfe.

Verwandte Themen