Laravel - Pass-Objekt über anzeigen und verwenden von in der Klinge

Grundsätzlich habe ich ein einfaches 'exp' - Spalte in meiner Datenbank und ich möchte, um eine Funktion zu verwenden 'showLevel ()', wo ich kann, pass in Auth::user->username als argument anstelle einer statischen Namen. Ich bin mit zu kämpfen, wie ich kann entweder eine Funktion in ein echo auf meine Vorlage, oder mit einem Objekt.

public function index()
{
    $users = User::all();

    $level = $this->showLevel('test');

    return view('home')->with('users', $users)->with('showLevel', $level);
}

public function showLevel($username) {

    $level = DB::table('users')->where('username', $username)->pluck('exp');

    if ($level < 500) {
        return 1;
    } else if ($level > 500 && $level < 1000) {
        return 2;
    } else if ($level > 1000 && $level < 1500) {
        return 3;
    } else if ($level > 1500 && $level < 2000) {
        return 4;
    } else if ($level > 2000 && $level < 2500) {
        return 5;
    } else if ($level > 2500) {
        return 'MAX';
    }

}

Habe ich versucht die Erstellung eines Objekts in home.blade.php.

$level = new HomeController;
$level->showLevel(Auth::user->username);

Aber das schien nicht zu arbeiten. Übergeben Sie Objekte in Klinge? Ich hab schon versucht zu suchen, diese selbst aber vielleicht bin ich-Formulierung es falsch. Ich bin stecken!

Ich grundsätzlich in der Lage sein wollen, etwas zu tun, wie {{ showLevel(Auth::user->username); }} in meinem home.blade.php auf der echo-Stufe, die von der Funktion zurückgegeben.

Ich würde die Ebene, auf die Benutzer-Modell wie folgt aus: gist.github.com/flackend/117886bfbc7df988364e

InformationsquelleAutor Vaughan Slater | 2015-06-27

Schreibe einen Kommentar