Pereiti prie turinio

mysql 3 lentelių užklausa


Rekomenduojami pranešimai

Turiu 3 lenteles:

 

event_info

  • event_id
  • event_lang
  • event_name

 

event

  • event_id
  • event_name

 

Event_filter

  • event_id
  • filter_id

 

Tikslas: apjungti visas tris per event_id ir taip gauti likusių laukų info.

event_id yra unikalus, bet kiekvienam event_id gali būti priskirta keli filter_id.

Bandžiau įvairius variantus su Join, Inner Join, bet niekaip nepavyksta..

Gal galite kasnors padėti užvesti ant kelio :)

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Bet kuriuo atveju teks vykdyti kelias užklausas.

Su viena užklausa gali pasiimti event'us ir event_info.

Su kita užklausa pasiimi visus event_filter pagal savo event'us.

Na, ir naudojant savo mėgstamiausią kalbą, sumeti viską ant atitinkamų event'ų į masyvą.

 

Aišku, jei naudotum kokį nors framework'ą, viską tau padarytų automatiškai.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Tai gali ir be JOIN apsieiti. Kazin ar skirsis kodo veikimo greitis labai :)

O kai jau reikes, tai ir JOIN ismoksi

 

P.S. imanoma ir su viena uzklausa, tik cia labiau del smagumo tai darytum, nei reialiai projekte.

 

P.P.S. frameworka kada nors irgi reiketu ismokti, tada galesi daryti taip:

 

$event = Event::find(1);

echo $event->lang('en')->name;

foreach ($event->filters as $filter) {
  echo $filter->name;
}

Redagavo wwwOgrasLt
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

×
×
  • Pasirinkite naujai kuriamo turinio tipą...