PHP LARAVEL Opcja render - pokazywanie postów

0

Cześć.

Pytanko - funkcja livewire'owa zwraca wszystkie posty w widoku posts, jak zrobić opcję wyświetlenia pojedynczego posta? Dodać np. @if (lub jakiś inny sposbób?) w render czy osobny komponent?

    public function render()

    {
        $this->posts = Post::all();
        return view('livewire.posts');
    }

Dzięki za pomoc!

2

Możesz w parametrze przekazywać $id posta a następnie zwrócić dany post:

Post::findOrFail($id);
2

Zamiast wszystkich możesz wybrać sobie np. first().

0

@N3: @PaulGilbert: Tak, ale chodziło bardziej o to, czy w tym samym pliku jest możliwość stworzenia osobno widoku dla pojedynczego postu i osobno dla wszystkich postów, czy lepiej zrobić osobny komponent

1

Myślę, że osobny komponent będzie bardziej praktyczny. Możliwość zawsze jest - zaprogramować można wszystko co się chce. Tylko napisz jak byś to dokładniej widział - rozwiń do czego zmierzasz lub co masz konkretniej na myśli.

0

Mam Komponent PostComponent - który ma zwracać wszystkie posty, czyli tak jak funkcja wyżej, potrzebuje wyświetlić też pojedynczy post użytkownika i nie wiem, czy jest opcja zrobić to w jednym komponencie (i jak to zrobić) czy lepiej zrobić nowy komponent np. UserPostsComponent.

1

A, czyli rozumiem, że chcesz na przykład wyświetlić ostatniego posta w całości, a pod spodem tylko tytuły i odnośniki do starszych postów. W takiej sytuacji to nie ma chyba co rozbijać tego osobno, bo to będzie jeden widok. Czyli pobierasz z bazy jeden ostatni post wraz z treścią i wyświetlasz u góry, a pod nim lecisz pętlą kolejne tytuły starszych postów po kolei. Jeszcze może od strony technicznej jak bym zrobił: pobieram sobie powiedzmy z 10 postów pełnych z bazy. Wyświetlam ostatni jako całość, resztę tylko tytuły, a na przykład w js-ie można zrobić, że po najechaniu myszą na odnośnik pokazuje Ci kilka pierwszych zdań. Albo można zrobić jakieś rozwijany podgląd pierwszego akapitu. Itd. kwestia pomysłu.

0

Nie ostatni post, a konkretny post, konkretnego użytkownika. ;)

0

No, może to być na przykład na powitanie nie ostatni post, tylko powiedzmy post z największą aktualną ilością lajków, albo komentarzy. To już jak tam sobie wymyślisz. Tylko wtedy ewentualnie kwestia odpowiedniego sformułowania zapytania do bazy.

0

Nie ma różnicy czy wyświetlasz jeden post czy wszystkie w vidoeku robisz kompnent @foreach i w nim rzucasz cały Collection jak bedzie jeden post to pokaze ic sie jeden jak wiele to wiele. Nie robi sie vidoku dla jednego posta i dla wielu. Chyba ze masz liste wielu wynikow i po kliknieicu wybiera ci jeden o pokazuje szczegoły ale to jest viewDetails. Twoja zagwostka nie ma sensu logicznego

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0