Ich habe 3 Tabellen genannt Kategorien, Jahreszeit und Filme.Abfrage, wo Spalte in einer anderen Tabelle ist - Laravel
Kategorien Tisch
+----+---------+------------+-------------+ | id | name | slug | created_at | +----+---------+------------+-------------+ | 1 | It | it-2017 | SOME TIME | | 2 | Another | another | SOME TIME | | 3 |SpiderMan| spider-man | SOME TIME | | 4 | Cars 3 | cars-3 | SOME TIME | +----+---------+------------+-------------+
Jahreszeiten Tisch
+----+---------+------------+-------------+ | id | number |category_id | created_at | +----+---------+------------+-------------+ | 1 | 1 | 2 | SOME TIME | | 2 | 2 | 2 | SOME TIME | | 3 | 1 | 3 | SOME TIME | | 4 | 3 | 1 | SOME TIME | +----+---------+------------+-------------+
Filme Tisch
+----+---------+------------+-------------+ | id | name | slug | season_id | +----+---------+------------+-------------+ | 1 | Pilot | pilot | 1 | | 2 | Second | second | 1 | | 3 | Third | third | 1 | | 4 | Fourth | fourth | 1 | +----+---------+------------+-------------+
Und ich gemacht, dass URL wird sich so etwas wie dieses
mywebpage.com/serie/{category_slug}/season-{season_number}
Aber wo ich zu dieser URL gehen, Abfrage wird in allen Jahreszeiten alle Filme zeigen, . Nicht die Saison aus der aktuellen Kategorie.
mein Controller
public function getMovies($category_slug, $season_number)
{
$categories = Category::where('slug', $category_slug)->get();
$seasons = Season::with('movies')->where('number', $season_number)->get();
return view('routes.getMovies', compact('categories', 'seasons'));
}
Und meine Ansicht getMovies.blade.php
@foreach($categories as $category)
@foreach ($seasons as $season)
@foreach ($season->movies as $movie)
Season - {{ $season->number }}
{{ $movie->name }}
{{ $movie->description }}
@endforeach
@endforeach
@endforeach
Und mein Ausgang ist wie Staffel 1 aus allen Kategorien, aber ich mag nur Jahreszeit von Strom zeigen, Kategorie.
Versuchen Sie, diese '$ Jahreszeiten = Saison :: mit ('Filme') -> where ('Anzahl', $ SEASON_NUMBER) -> wo ('category_id', $ categories-> id) -> get(); '!! – Maraboc
@Maraboc, es gibt mir einen Fehler * Eigenschaft [ID] existiert nicht auf dieser Sammlung Instanz. * – Ridiculous
Also versuchen Sie diese $ Kategorie = Kategorie :: wo ('slug', $ Kategorie_Slug) -> first() ; $ seasons = Jahreszeit :: mit ('Filme') -> wo ('Nummer', $ Jahreszeitnummer) -> wo ('Kategorie_ID', $ Kategorie-> ID) -> get(); Rückansicht ('routes.getMovies', kompakt ('Kategorie', 'Jahreszeiten')); ' – Maraboc