Forum Sveta kompjutera

Nazad   Forum Sveta kompjutera > Internet > Web razvoj > Serverske aplikacije i baze podataka

Serverske aplikacije i baze podataka PHP, Perl, ASP, ASP .NET, ColdFusion...
MySQL, PostgreSQL, MSQL, Oracle...

Odgovor
 
Alatke vezane za temu Vrste prikaza
Stara 30.10.2014, 17:41   #1
Partybreaker
d-_-b
 
Avatar korisnika Partybreaker
 
Član od: 13.10.2007.
Lokacija: 127.0.0.1
Poruke: 5.317
Zahvalnice: 1.626
Zahvaljeno 2.307 puta na 1.520 poruka
Određen forumom Sistem za postove i komentare

Trebala bi mi pomoć vezana za post/comment sistem. Pravim klasičan "facebook like" sistem u Laravelu 4.2. Imam sledeće tabele:

Tabela postovi:

• id
• sadrzaj
• created_at
• updated_at
• autor_id

... i tabelu 'komentari', koja je vrlo slična prethodnoj, sa dodatkom spoljnog ključa post_id:

Tabela komentari:

• id
• sadrzaj
• created_at
• updated_at
• post_id
• autor_id

Tabela autor je klasika (id, username i tako dalje). Autor može biti istovremeno autor posta i autor komentara.

Preko Laravelovog eager loadinga sam uspeo da povučem kompletne podatke o postu, autoru posta i komentarima i to na sledeći način:

PHP kod:
$svi_postovi Post::with('autor''komentari')->orderBy('created_at''DESC')->get(); 
... sa odgovarajućim metodama u modelu Post:

PHP kod:
public function autor()
    {
        return 
$this->belongsTo('Autor');
    }

    public function 
komentari()
    {
        return 
$this->hasMany('Komentar');
    } 
Rezultat koji dobijem za $svi_postovi varijablu (koju prosleđujem u view) je ovakav:

Kod:
{"id":5,"sadrzaj":"Ovo je prvi post":,"created_at":"2014-10-28  21:45:53","updated_at":"2014-10-28  21:45:53","autor_id":40,
"autor":{"id":40,"username":"perica"},
"komentari":[{"id":1,"sadrzaj":"Ovo je prvi komentar.","created_at":"2014-10-28  23:43:01","updated_at":"2014-10-28  23:43:01","post_id":5,"autor_id":40},
{"id":3,"sadrzaj":"Ovo je drugi komentar.","created_at":"2014-10-30  13:39:02","updated_at":"2014-10-30  13:39:02","post_id":5,"autor_id":41}]}
Ostaje problem što ne mogu da povučem podatke o autoru posta, nego stoji samo autor_id (podvukao sam u gornjem izlazu ^). Tako da na ovaj način mogu da imam sledeći rezultat (ovo je samo tekstualni prikaz gornjeg koda, onako kako ga prikazujem u viewu):

Autor posta: perica
Sadržaj posta: Ovo je prvi post.
Autor komentara 1: 41 (znači samo ID, umesto punog imena)
Sadržaj komentara 1: Ovo je prvi komentar.
Autor komentara 1: 42
Sadržaj komentara 2: Ovo je drugi komentar.

Znači, kao što sad pristupam komentaru preko:
PHP kod:
@foreach($svi_postovi as $post)
...
@foreach(
$post->komentari as $komentar)
 {{ 
$komentar->sadrzaj }}
@endforeach
...
@endforeach 
... postoji li način i da pristupim imenu autora komentara? Nešto nalik $komentar->autor->username. Najlakše bi mi bilo kada bi mi neko rekao kako preko Laravelovog eloquenta da to odradim, ali i pomoć u vidu neke generalne SQL prakse nije na odmet. Nadam se da sam bio dovoljno jasan, hvala unapred svima!
Partybreaker je offline   Odgovor sa citatom ove poruke
Stara 30.10.2014, 20:59   #2
Remedy
Veteran
 
Član od: 5.11.2005.
Poruke: 826
Zahvalnice: 177
Zahvaljeno 199 puta na 154 poruka
Određen forumom Re: Sistem za postove i komentare

PHP kod:
Post::with('autor''komentari.autor'
Onda ces imati
PHP kod:
@foreach($svi_postovi as $post)
...
@foreach(
$post->komentari as $komentar)
 {{ 
$komentar->autor->username}}
@endforeach
...
@endforeach 
Trebalo bi da je to ono sto trazis.

Onako nisi koristio relaciju komentar-autor, autor_id koji dobijas je iz table komentari.

Poslednja ispravka: Remedy (30.10.2014 u 21:11)
Remedy je offline   Odgovor sa citatom ove poruke
Sledeći korisnik se zahvaljuje korisniku Remedy na korisnoj poruci:
Partybreaker (31.10.2014)
Stara 31.10.2014, 1:29   #3
Partybreaker
d-_-b
 
Avatar korisnika Partybreaker
 
Član od: 13.10.2007.
Lokacija: 127.0.0.1
Poruke: 5.317
Zahvalnice: 1.626
Zahvaljeno 2.307 puta na 1.520 poruka
Određen forumom Re: Sistem za postove i komentare

Remedy majstore. Hvala puno, spasao si mi mnogo vremena! Vidim tek sad da u dokumentaciji (koju sam linkovao) postoji taj slučaj, samo ja nisam uspeo da povežem to sa svojim problemom. Hvala još jednom.
Partybreaker je offline   Odgovor sa citatom ove poruke
Stara 31.10.2014, 17:59   #4
Neutrino
Deo inventara foruma
 
Član od: 17.6.2011.
Poruke: 7.336
Zahvalnice: 94
Zahvaljeno 3.334 puta na 2.010 poruka
Određen forumom Re: Sistem za postove i komentare

Ako nisi već izdvoj $9 za https://laracasts.com/. Tamo između ostalih imaš i ovaj, ajde da ga tako nazovem, kurs - https://laracasts.com/series/build-a...p-from-scratch

U tridesetak veoma konciznih i jasnih lekcija pravićeš Laravel varijantu Facebook-a, od početne incicijalizacije composera pa sve do deployment faze Lekcije možeš da downloaduješ na svoj računar ako želiš, plus imaš evidenciju toga šta si odgledao a šta si ostavio za kasnije da pogledaš itd.

Apsolutna preporuka, čak i za početnike PHP-a pošto je Džef pre par dana počeo sa kursom u kojem uvodi ljude i u osnove OOP-a (https://laracasts.com/series/object-...ootcamp-in-php)
Neutrino je offline   Odgovor sa citatom ove poruke
Stara 31.10.2014, 23:00   #5
Partybreaker
d-_-b
 
Avatar korisnika Partybreaker
 
Član od: 13.10.2007.
Lokacija: 127.0.0.1
Poruke: 5.317
Zahvalnice: 1.626
Zahvaljeno 2.307 puta na 1.520 poruka
Određen forumom Re: Sistem za postove i komentare

Sa Laravel 4 From Scratch sam i zaronio u svet Laravela. To i pomoć phpacadamy klipova (uz Laravel dokumentaciju, naravno) su mi pomogli da pohvatam osnove i snađem se u novom okruženju. Ne ponosim se time, ali sam kompletne Laracasts klipove (8+ GB) uspeo da "nabavim", ali nisam uspevao da nađem ono što meni treba, a vremena za kompletan pregled svih klipova nisam imao.
Partybreaker je offline   Odgovor sa citatom ove poruke
Odgovor

Bookmarks sajtovi

Alatke vezane za temu
Vrste prikaza

Vaš status
Ne možete postavljati teme
Ne možete odgovarati na poruke
Ne možete slati priloge uz poruke
Ne možete prepravljati svoje poruke

BB kod: uključeno
Smajliji: uključeno
[IMG] kod: uključeno
HTML kod: isključeno


Slične teme
tema temu započeo forum Odgovora Poslednja poruka
Avioni Dr Zoidberg Brbljaonica 3931 17.4.2022 21:11
Kako optimizovati plugin za Facebook komentare? hallooo Web razvoj 0 23.10.2014 13:11
Moram da reinstaliram sistem ali sam skeptican. Potrebna pomoc vladimirjeger Kvarovi 21 13.10.2014 8:00
Posle "welcome" ekrana sistem stane i ne uloguje se na account lukababic Kvarovi 5 1.7.2008 15:01
Ne mogu da podignem sistem sa SATA HDD-a matke Nosači podataka 3 21.5.2008 20:40


Sva vremena su po Griniču +2 h. Sada je 19:02.


Powered by vBulletin® verzija 3.8.7
Copyright ©2000–2024, vBulletin Solutions, Inc.
Hosted by Beograd.com