Ich steckte hier wurde versucht von 2-3 Stunden.Laravel 5.1 bekommen 5 Nachrichten von jeder Kategorie in Viele-zu-viele-Beziehung
Ich habe viele, viele Beziehung:
class Category extends Model
{
public function news()
{
return $this->belongsToMany('App\News');
}
}
class News extends Model
{
public function categories()
{
return $this->belongsToMany('App\Category');
}
}
I neuesten 5 Nachrichten der entsprechenden Kategorien zu bekommen versuche:
$front_categories = Category::with(array(
'news'=>function($query){
$query->where('publish','1')->orderBy('created_at', 'desc')->take(5);}))
->where('in_front', 1)->get();
Die obige Abfrage ist für mich nicht geben eine Arbeits Insgesamt fünf Ergebnisse anstelle von 5 Ergebnissen für jede Kategorie.
was ich tat, ist $ front_categories = Kategorie :: wo ('in_front ', 1) -> orderBy (' position ',' asc ') -> get(); in meiner Kategorie Modell öffentliche Funktion newsTop5() { zurück $ this-> news() -> orderBy ('erstellt_at', 'desc') -> take (5); } und in meiner Klinge @foreach ($ front_category-> newsTop5 as $ news) – sanu