Utknąłem tutaj próbując od 2-3 godzin.laravel 5.1 uzyskiwanie powiązanych 5 wiadomości z każdej kategorii w relacjach wiele do wielu
Mam wiele do wielu relacji:
class Category extends Model
{
public function news()
{
return $this->belongsToMany('App\News');
}
}
class News extends Model
{
public function categories()
{
return $this->belongsToMany('App\Category');
}
}
próbuję uzyskać najnowszy 5 wiadomości o kategorie:
$front_categories = Category::with(array(
'news'=>function($query){
$query->where('publish','1')->orderBy('created_at', 'desc')->take(5);}))
->where('in_front', 1)->get();
Powyższe zapytanie nie działa dla mnie to daje łącznie pięć wyników zamiast 5 wyników dla każdej kategorii.
co zrobiłem jest $ front_categories = kategoria :: where ('in_front ', 1) -> orderBy ("pozycja", "asc") -> get(); w mojej kategorii model public function newsTop5() { return $ this-> news() -> orderBy ('created_at', 'desc') -> take (5); } i moim ostrzem @ foreach ($ front_category-> newsTop5 jako nowości) – sanu