Ich bin gerade dabei, eine persönliche Webseite für Buchempfehlungen zu überarbeiten. Ich möchte Bücher nach mehr als einem Kriterium filtern.
Zum Beispiel möchte ich alle Bücher anzeigen, die SOWOHL Philosophie ALS AUCH Science-Fiction sind. Ein Beispiel dafür ist Peter Watts' Blindsight.
Derzeit kann ich nur nach einem Kriterium filtern:
Ich habe eine Pivot-Tabelle für
Modell Bücher
public function genres()
{
return $this->belongsToMany('App\Genre', 'bookgenres', 'book_id', 'genre_id');
}
Modell Genre:
public function books()
{
return $this->belongsToMany('App\Book', 'bookgenres', 'genre_id', 'book_id');
}
Das Beispiel der Pivot-Tabelle bookgenres: id
,book_id
, genre_id
1 - 23 - 4
2 - 23 - 5
3 - 24 - 4
In einfachen Worten: Das Buch #23 ist sowohl SF (#4) als auch Philosophie (#5), während das Buch #24 nur SF (#4) ist.
Mit diesen Informationen frage ich einfach ab
$genre = 4;
$books = Genre::find($genre)->books()->get();
und verwende eine standardmäßige @foreach-Schleife, um die Bücher aufzulisten
Zu erledigen: filtere die Sammlung nach zwei Genres, nicht nur einem.
Vielen Dank im Voraus!