2016-07-03 9 views
0

Ich habe dieses Framework nie gelernt. Als Anfänger muss ich einen Link in die bestehende Software ändern, die von einem professionellen Team erstellt wurde. Können Sie mir aus dieser Situation helfen?Framework Laravel: Datensätze unter bestimmten Bedingung anzeigen

Es gibt eine Funktion, die die Datensätze auf der Hauptseite public function index() anzeigt. Es hat return View::make('Titles.Index')->withType('movie');. Aber ich muss einen Parameter hinzufügen, der nur englische Filme zeigt, die Feldname haben language kann 'en' als sein Wert haben. Würden Sie vorschlagen, was zu tun ist, dass es unter dieser Bedingung angezeigt wird? Ich habe versucht return View::make('Titles.Index')->with('language','en');, aber es zeigt Fehler auf der Hauptseite.

Antwort

0

Grundsätzlich index ist eine Controller-Methode, die die Ansicht für Ihre spezifische Route behandelt.

In der Controller-Methode können Sie die Filme filtern und eine Sammlung an die Ansicht übergeben. Bedenkt man, dass Sie ein Modell Movie mit Namespace App\Movie so können Sie etwas tun, genannt haben, wie:

public function index() { 
    // Returns a collection with movies where language field 
    // is equal 'en'. 
    $moviesEn = App\Movie::where('language', 'en')->get(); 
    return View::make('Titles.Index')->with('moviesEn', $moviesEn); 
} 

Dieser Code die moviesEn Variable in Ihrem Titles.Index Ansicht einspritzt. So können Sie es verwenden:

@foreach ($moviesEn as $movie) 
    {{ $movie->title }} 
@endforeach 
+0

zurück Ansicht :: make ('Titles.Index') -> mit ('moviesEn', $ filmeEn); Wenn ich dies tue, zeigt die Seite einen Fehler, dass etwas schief gelaufen ist. Wenn ich schreibe, return View :: make ('Titles.Index') -> mit ('type', 'movie'); Es zeigt die Zeilen an, in denen der Typ Film in der Tabelle ist, aber es funktioniert nicht, wenn die Sprache en in derselben Tabelle ist. –

+0

Ich bin nur erstaunt, warum es mit dem Feldnamen 'type' funktioniert und nicht mit dem Feldnamen 'sprache' der gleichen Tabelle funktioniert! –

+1

Ihre Antwort half mir endlich, dass ich es schaffen konnte. Vielen Dank Alexandre! –

Verwandte Themen