Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Laravel puurakenne Viewiin

p99o [26.07.2016 19:12:55]

#

Oon tässä jo jonkun aikaa pyöritellyt Laravelia, mitä nyt on ehtinyt mutta on pakko kysyä että kuinka dataa pitäisi käsitellä oikeaoppisesti kun sitä haluaa viedä controllerista näkymään (view).

Tietokannasta saa näpäärästi dataa taulukkomuodossa, mutta entä kun haluankin huomattavasti erilaisempaa dataa esim. puu/taulukkorakenteella monesta taulusta; esimerkisi puurakenne jossa on henkilö, maa, jonka alla on eri kaupunkeja, jonka alla eri kohteita, jonka alla eri kohdetyyppejä jne...

Näkymässä tämä sitten tulisi muotoon / olisi rakenteeltaan (ja voisi olla monimutkaisempikin)

-Henkilö 1:
--Käynyt maissa:
---- Suomi:
----- Tampere:
------ Näsinneula:
------- geo_location:
-------- lat: xx.xxx
-------- lon: xx.xxx
------ Tammerkoski
------- geo_location
-------- lat: xx.xxx
-------- lon: xx.xxx
----- Pori:
------ Kirjurinluoto:
------- geo_location:
-------- lat: xx.xxx
-------- lon: xx.xxx
(jne...)

Laravelin oma dokumentaatio kun on hieman liian yksinkertaista tyyliin:

$users = DB::table('users')
                     ->select(DB::raw('count(*) as user_count, status'))
                     ->where('status', '<>', 1)
                     ->groupBy('status')
                     ->get();

Onko ratkaisu luoda monia kyselyjä/metodeja (joita voisi lisäksi käyttää muuallakin koodissa) ja pilkkoa datan hakemista pienempiin osiin
vaikkapa tyyliin

getGeoLocation($place_id);
getUserVisitedLocations($user_id);

, ja luoda jokin apufunktio joka sitten kasaaa tiedot yhteen taulukkoon juuri halutuksi. Tämä taulukko (Array) sitten lähetetään lopullisena näkymään.

Ei ainakaan tule parempaakaan mieleen, auttakaa tyhmää.

Triton [03.09.2016 17:46:32]

#

Tämä nyt on jo vanhempi kysymys, mutta itse kun lähden koostamaan erilaisia näkymiä monesta eri lähteestä, niin käytän pääsääntöisesti kahta vaihtoehtoista tyyliä: 1) juuri niin kuin itse nyt teit eli haet kannasta datan useassa kyselyssä ja koostat softalla lopullisen esityksen 2) teen tietokantaan valmiin näkymän, joka vetää useamman taulun datat yhteen ja sitten yhdellä kysellä haen softassa datan.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta