Pereiti prie turinio

Doctrine2 rūšiavimas pagal kitos lentelės laukelius


Rekomenduojami pranešimai

Turiu restoranų lentelę, kuri join'ina atsiliepimų lentelę, man reikia išgauti surūšiuotus duomenys pagal atsiliepimų lentelės `rating` laukelio vidurkį (kažkas tokio kaip SUM(f.rating) / COUNT(f.id) ), problema tokia, kad su doctrine neišeina to padaryti, visų pirmą net negaliu select'inti papildomo COUNT var'o, kaip:

<...>
partial{f.id, f.rating},
COUNT(f.id) AS HIDDEN mycount
<...>

 

tokiu atveju gaunu tik 1 rezultatą.

Visa užklausa keliauja į doctrine pagination extension'ą.

 

Gal turit pasiūlymų kaip galėčiau surūšiuoti duomenys, nepaveikiant gaunamų rezultatų bei nenaudojant native sql? Dėkui.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Susitvarkiau. Jei kas su panašia problema susidurs, tai pasirašiau subquery:

 

r,
partial f.{id, rating},
(SELECT SUM(f2.rating) / COUNT(f2.id) FROM entity f2 WHERE f2.restaurantId = r.id) AS HIDDEN fc

 

ir po to labai paprastai rūšiavimas:

$this->orderBy('fc', 'DESC');

 

 

Tas jausmas, kai net google tau negali padėti, o tu vistiek pasidarai ko tau reik biggrin.gif

Redagavo w3ber
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.

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