2017-12-12 6 views
1

Ich habe Spark eingerichtet und ich habe meine benutzerdefinierte Ansicht in Einstellungen erstellt - Studenten (davon ausgehen, Benutzerobjekt ist eigentlich ein Lehrer). Ich habe auch Migration und Modell Student erstellt.Zurückgegebene benutzerdefinierte Variable in Einstellungen - Laravel Spark

Jetzt http://spark.app/settings/students gibt die Seite erfolgreich zurück. An diesem Punkt muss ich Daten vom Backend zurückgeben. Ich untersuchte Spark\Http\Controllers\Settings\[email protected] - was das Verfahren ist eine Ansicht, die ‚Einstellungen‘ zurückkehren, aber dies liefert keine Daten ->with('user', $user)

betrachten Aber as mentioned in Docs, :user="user" :teams="teams" :current-team="currentTeam" bereits aus dem Kasten heraus.

Wo und wie gibt Spark diese Werte an/settings zurück? Und wie stelle ich mein Student-Objekt ebenfalls zur Verfügung?


Jetzt, wenn ich mein Student-Objekt zum Frontend zurückgeben möchte, habe ich 2 Möglichkeiten.

1) bearbeiten Spark\Http\Controllers\Settings\DashboardController

2) Ich denke, Spark\InitialFrontendState ist der Ort, wo Funken diese Objekte Benutzer, Teams zurückgibt, currentTeam. Dieser Ansatz ist etwas, das ich zum ersten Mal gesehen habe, um ehrlich zu sein, und ich habe nicht wirklich verstanden, wie es funktioniert.

Wie soll ich in Funken erreichen, etwas so einfaches wie:

return view('spark::settings')->with('student', $student);?

Antwort

0

eine neue Route hinzufügen und eigene Controller & eigene Ansicht einrichten

web.php

Route::get('/settings/students', '[email protected]'); 

SettingsStudentController.php

class SettingsStudentController extends Controller { 
    public function __construct() { 
     $this->middleware('auth'); 
    } 
    public function index(Request $request) { 
      $user   = Auth::user(); 
      $student = STUDENTCLASS::whatever(); 
      return view('yourstudentview', ['student' => $student , 'user' => $user]); 
    } 
} 
+0

die Frage war - wie funktioniert Spark gibt diese globalen Werte zurück – senty

+0

ahh ok. Auf jeder Seite gibt es ein globales Spark-Objekt (Javascript). Legen Sie im Hersteller \ spark \ layouts \ app.blade.php fest. Es bekommt seine Variablen aus dem Merkmal ProvidescriptVariables (Hersteller \ Laravel \ Spark \ src \ Configuration \ ProvidesScriptVariables.php) ... eine eigene neue Einstellungsseite wäre viel einfacher, denn wenn Sie Spark auf eine neue Version aktualisieren, wird alles überschrieben – timod

+0

@senty Passt es zu dir? – timod

Verwandte Themen