• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Problem z relacją laravel

0 głosów
248 wizyt
pytanie zadane 28 stycznia 2021 w PHP przez Renzov Obywatel (1,220 p.)

Siemka,

Mam pewien problem nad którym siedzę już kilka godzin nadal nie potrafię go rozwiązać. Posiadam prostą stronę która składa się z:
- Postów
- Użytkowników
- Subskryybcje

Napisałem kod który wyświetla wszystkie posty, ale chciałbym aby kod zwracał tylko posty osób które zalogowany użytkownik zaabsorbował w kolejności od najnowszych

Aktualnie kod pobiera listę postów + dołącza do niego dane autora. Nie wiem tylko jak spiąć to z relacjami które by sprawdzały, czy dany użytkownik subskrybuje. Próbowałem już where, wherehas, etc i nic nie działa prawidłowo. z WhereHas nie pokazuje wszystkich postów a tylko jeden

 

        $posts = Posts::with('author')->with('pictures')
        ->whereHas('following', function ($query){
         $query->where('follower_id', 1);
        })
        ->get();

 

komentarz 28 stycznia 2021 przez Michał Kazula Pasjonat (19,520 p.)

Masz relacje w bazie między tabelami?
Jak tak to na modelu Postów i Usera dodaj metody zwracające odpowiednie dane przez zastosowanie relacji https://laravel.com/docs/8.x/eloquent-relationships#has-many-through

Np na modelu User możesz dodać metodę posts() z relacją hasmany do modelu Postów. Wtedy w kodzie możesz bezpośrednio z Usera zalogowanego wyciągnąć jego posty :-)
 

Auth::user()->posts()

 

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
1 odpowiedź 470 wizyt
pytanie zadane 13 maja 2020 w PHP przez Greeenone Pasjonat (16,100 p.)
0 głosów
1 odpowiedź 823 wizyt
pytanie zadane 21 czerwca 2017 w SQL, bazy danych przez BlvckFox Gaduła (4,240 p.)
0 głosów
0 odpowiedzi 503 wizyt
pytanie zadane 16 września 2023 w SQL, bazy danych przez martinez369 Użytkownik (520 p.)

93,742 zapytań

142,678 odpowiedzi

323,297 komentarzy

63,328 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...