sfDoctrinePager e mix di tabelle

8 visualizzazioni
Passa al primo messaggio da leggere

Alessandro Nadalin

da leggere,
22 ott 2010, 11:43:4622/10/10
a symfo...@googlegroups.com
Ciao belli,

per utilizzare il pager di Doctrine e fare query su N tabelle avete
qualche idea?

Ho - ergo - bisogno delle UNION, ma sembra saranno supportate
solamente da Doctrine2.

--
Nadalin Alessandro
www.odino.org
www.twitter.com/_odino_

Massimiliano Arione

da leggere,
23 ott 2010, 04:33:1323/10/10
a symfony-it
On 22 Ott, 17:43, Alessandro Nadalin <alessandro.nada...@gmail.com>
wrote:
> per utilizzare il pager di Doctrine e fare query su N tabelle avete
> qualche idea?
>
> Ho - ergo - bisogno delle UNION, ma sembra saranno supportate
> solamente da Doctrine2.

Puoi cavartela anche senza UNION, basta che estendi sfPager

ciao
Massimiliano

Alessandro Nadalin

da leggere,
23 ott 2010, 06:21:0023/10/10
a symfo...@googlegroups.com

Approfondisci perchè finora sono senza idee... Vorrei capire come
mixare i risultati più che altro

>
> ciao
> Massimiliano
>
> --
> Hai ricevuto questo messaggio perché sei iscritto al gruppo "symfony-it" di Google Gruppi.
> Per postare messaggi in questo gruppo, invia un'email a symfo...@googlegroups.com.
> Per annullare l'iscrizione a questo gruppo, invia un'email a symfony-it+...@googlegroups.com.
> Per ulteriori opzioni, visita il gruppo all'indirizzo http://groups.google.com/group/symfony-it?hl=it.

David Funaro

da leggere,
23 ott 2010, 21:41:1723/10/10
a symfo...@googlegroups.com
Ciao Ale,
Se devi mixare N tabelle diverse e queste tabelle sono molto simili
(immagino di si visto che vanno nello stesso pager) potresti provare a
prendere in considerazione la possibilità di usare l'ereditarietà
delle tabelle di doctrine di tipo 'column_aggregation'.

Se spieghi meglio la tipologia di tabelle, vediamo di valutare insieme
questa possibilità.
Ciao

Davidino.

Il giorno 23/ott/2010, alle ore 12.21, Alessandro Nadalin
<alessandr...@gmail.com> ha scritto:

Alessandro Nadalin

da leggere,
24 ott 2010, 05:24:1424/10/10
a symfo...@googlegroups.com
Il 24 ottobre 2010 03:41, David Funaro <ing.da...@gmail.com> ha scritto:
> Ciao Ale,
> Se devi mixare N tabelle diverse e queste  tabelle sono molto simili
> (immagino di si visto che vanno nello stesso pager) potresti provare a
> prendere in considerazione la possibilità di usare l'ereditarietà
> delle tabelle di doctrine di tipo 'column_aggregation'.
>
> Se spieghi meglio la tipologia di tabelle, vediamo di valutare insieme
> questa possibilità.

Eheh, no, al bando la column aggregation. Ho ereditarietà concreta, e
non dappertutto :-)

Di base volevo usare Lucene, ma poi ho visto che la funzionalità di
ricerca è stupidissima ( tipo ricerca solo per il titolo ) però per
tutto il modello dati... TUTTO, anche gli utenti :)

Posso farlo tramite UNION e raw sql, però non mi convince.

Jacopo Jakuza Romei

da leggere,
25 ott 2010, 06:09:3425/10/10
a symfony-it
Che chance hai di fare caching delle viste che impiegano queste query?

On Oct 24, 11:24 am, Alessandro Nadalin <alessandro.nada...@gmail.com>
wrote:
> Il 24 ottobre 2010 03:41, David Funaro <ing.david...@gmail.com> ha scritto:
>
> > Ciao Ale,
> > Se devi mixare N tabelle diverse e queste  tabelle sono molto simili
> > (immagino di si visto che vanno nello stesso pager) potresti provare a
> > prendere in considerazione la possibilità di usare l'ereditarietà
> > delle tabelle di doctrine di tipo 'column_aggregation'.
>
> > Se spieghi meglio la tipologia di tabelle, vediamo di valutare insieme
> > questa possibilità.
>
> Eheh, no, al bando la column aggregation. Ho ereditarietà concreta, e
> non dappertutto :-)
>
> Di base volevo usare Lucene, ma poi ho visto che la funzionalità di
> ricerca è stupidissima ( tipo ricerca solo per il titolo ) però per
> tutto il modello dati... TUTTO, anche gli utenti :)
>
> Posso farlo tramite UNION e raw sql, però non mi convince.
>
>
>
> > Ciao
>
> > Davidino.
>
> > Il giorno 23/ott/2010, alle ore 12.21, Alessandro Nadalin
> > <alessandro.nada...@gmail.com> ha scritto:
>
> >> Il 23 ottobre 2010 10:33, Massimiliano Arione <garak...@gmail.com> ha scritto:
> >>> On 22 Ott, 17:43, Alessandro Nadalin <alessandro.nada...@gmail.com>
> >>> wrote:
> >>>> per utilizzare il pager di Doctrine e fare query su N tabelle avete
> >>>> qualche idea?
>
> >>>> Ho - ergo - bisogno delle UNION, ma sembra saranno supportate
> >>>> solamente da Doctrine2.
>
> >>> Puoi cavartela anche senza UNION, basta che estendi sfPager
>
> >> Approfondisci perchè finora sono senza idee... Vorrei capire come
> >> mixare i risultati più che altro
>
> >>> ciao
> >>> Massimiliano
>
> >>> --
> >>> Hai ricevuto questo messaggio perché sei iscritto al gruppo "symfony-it" di Google Gruppi.
> >>> Per postare messaggi in questo gruppo, invia un'email a symfo...@googlegroups.com.
> >>> Per annullare l'iscrizione a questo gruppo, invia un'email a symfony-it+...@googlegroups.com.
> >>> Per ulteriori opzioni, visita il gruppo all'indirizzohttp://groups.google.com/group/symfony-it?hl=it.
>
> >> --
> >> Nadalin Alessandro
> >>www.odino.org
> >>www.twitter.com/_odino_
>
> >> --
> >> Hai ricevuto questo messaggio perché sei iscritto al gruppo "symfony-it" di Google Gruppi.
> >> Per postare messaggi in questo gruppo, invia un'email a symfo...@googlegroups.com.
> >> Per annullare l'iscrizione a questo gruppo, invia un'email a symfony-it+...@googlegroups.com.
> >> Per ulteriori opzioni, visita il gruppo all'indirizzohttp://groups.google.com/group/symfony-it?hl=it.

Alessandro Nadalin

da leggere,
25 ott 2010, 06:27:5025/10/10
a symfo...@googlegroups.com
Il 25 ottobre 2010 12:09, Jacopo Jakuza Romei <jak...@tiscali.it> ha scritto:
> Che chance hai di fare caching delle viste che impiegano queste query?

La posso fare abbastanza tranquillamente.

Come ho scritto qui:
http://www.odino.org/224/custom-pagination-on-different-models-with-symfony-and-doctrine

però non è che mi serva molto ( il record set è molto limitato, e lo
sarà per sempre ): la mia è più una domanda a scopo didattico.

Perchè? Perchè molte volte mi sono trovato di fronte a problemi di
questo tipo senza poter usare Lucene ( ora lo utilizziamo sempre a
parte casi come questo ) e mi son sempre chiesto quale soluzione fosse
migliore...

> Per ulteriori opzioni, visita il gruppo all'indirizzo http://groups.google.com/group/symfony-it?hl=it.

Massimiliano Arione

da leggere,
25 ott 2010, 07:11:5025/10/10
a symfony-it
Il mio parere personale è che alquanto inutile inseguire la UNION a
tutti i costi.
La UNION trae un po' in inganno, perché uno pensa di fare una query
sola invece di N query, ma purtroppo non è così: internamente mysql
deve comunque fare le N query per tirarti fuori i risultati.
L'estensione di sfPager, che ti avevo suggerito, non dovrebbe essere
particolarmente difficile. Puoi partire dal sorgente di
sfDoctrinePager e vedere quali sono i metodi da implementare (una
manciata). Fai le query una per volta, poi fondi le collection con
mergeCollection e il gioco è fatto.
In ogni caso (e mi riferisco al tuo post), non hai alcuna
giustificazione per tenere questa logica nel controllore.

ciao
Massimiliano

Alessandro Nadalin

da leggere,
25 ott 2010, 07:42:2425/10/10
a symfo...@googlegroups.com
Il 25 ottobre 2010 13:11, Massimiliano Arione <gara...@gmail.com> ha scritto:
> Il mio parere personale è che alquanto inutile inseguire la UNION a
> tutti i costi.
> La UNION trae un po' in inganno, perché uno pensa di fare una query
> sola invece di N query, ma purtroppo non è così: internamente mysql
> deve comunque fare le N query per tirarti fuori i risultati.
> L'estensione di sfPager, che ti avevo suggerito, non dovrebbe essere
> particolarmente difficile. Puoi partire dal sorgente di
> sfDoctrinePager e vedere quali sono i metodi da implementare (una
> manciata). Fai le query una per volta, poi fondi le collection con
> mergeCollection e il gioco è fatto.

mergeCollection di quale oggetto? Qua mi perdo! :-(

Doctrine_Collection ha un metodo merge, ma su due collection che non
sono parent/subclass lancia un eccezione e non te le fa mergiare.

Di base hai ragione, implementare le N singole query è una cazzata, è
mergiarle il problema. Allora tu potresti dirmi beh te le tiri fuori
come array e fai il merge di quelli! Ma voglio capire se si può fare
qualcosa di meglio...

> In ogni caso (e mi riferisco al tuo post), non hai alcuna
> giustificazione per tenere questa logica nel controllore.

ragionissima, ho pure citato quello che ripeti sempre Mastro Garakkio
( fat models... )!

>
> ciao
> Massimiliano

P.S. Non accetto critiche di Lord Cinelli sul fatto che ho usato il
verbo "mergiare" :-)

Massimiliano Arione

da leggere,
25 ott 2010, 08:04:3225/10/10
a symfony-it
On 25 Ott, 13:42, Alessandro Nadalin <alessandro.nada...@gmail.com>
wrote:
> Doctrine_Collection ha un metodo merge, ma su due collection che non
> sono parent/subclass lancia un eccezione e non te le fa mergiare.

Colpa mia, finora avevo fatto merge solo di oggetti che ereditavano da
uno comune.

> Di base hai ragione, implementare le N singole query è una cazzata, è
> mergiarle il problema. Allora tu potresti dirmi beh te le tiri fuori
> come array e fai il merge di quelli! Ma voglio capire se si può fare
> qualcosa di meglio...

Direi che la soluzione array potrebbe andar bene, non essendoci in
vista alternative migliori.

ciao
Massimiliano

Alessandro Nadalin

da leggere,
25 ott 2010, 08:18:0425/10/10
a symfo...@googlegroups.com

Ok, come pensavo...se qualcuno ha un'idea bussi violentemente alla porta!

>
> ciao
> Massimiliano

Rispondi a tutti
Rispondi all'autore
Inoltra
0 nuovi messaggi