- Title: Member
- Status: Offline
- Registered: 04-02-2008
- Posts: 101
Topic: find / findAll o query?
mi stavo ponendo questa domanda... alla fin fine quanto conviene usare find o findAll quando si vuole fare una query, invece di costruirsi le query a mano? cioè ho visto che alla fin fine si rischia di dover scrivere molto più codice, tipo per scollegare altri modelli quando si vuole fare una ricerca solo su una tabella...
che ne pensate?
- Title: Member
- Status: Offline
- From: Rome
- Registered: 05-02-2008
- Posts: 39
Re: find / findAll o query?
Capita a proposito questa domanda perchè ho constatato pochi giorni fa quanto possa essere utile usare find (findAll altro non è che find mascherato ;-)) e più in generale un framework come Cakephp.
Nello specifico trovavo più comodo (e più performante) creare una query a mano per avere un array di elementi rappresentanti delle date in formato italiano e americano usando un GROUP BY, ma mi sarei così trovato a dover utilizzare il nome delle tabelle piuttosto che del model relativo. In questo modo l'applicazione non avrebbe beneficiato dei vantaggi derivanti dall'uso del model (ad esempio se l'applicazione richiedeva che cambiassi nome alla tabella oppure se avessi dovuto migrare su un DB diverso ).
Estendendo il discorso, a volte troverei più conveninente non utilizzare CakePHP perchè richiede un ulteriore sforzo per apprenderlo e memorizzarne i comandi.
Ad esempio, per quanto riguarda il DB, il mio percorso personale mi ha visto alle prese dapprima con il PHP, quindi conoscere le funzioni spcifiche per connettersi e interrogare MySQL, poi con la classe DB di PEAR (oltre a MDB e DBDataObject) e poi con CakePHP.
Insomma, i benefici ci sono, ma bisogna anche mettere in conto lo sforzo ulteriore per maneggiare con disinvoltura ogni nuovo strumento.
Ora con la nuova documentazione va meglio, andrebbe meglio se il codice fosse molto più commentato, ma l'ideale sarebbe chiamarsi Larry E. Masters (PhpNut)
No ?
- Title: Administrator
- Status: Offline
- From: Pisa
- Registered: 04-02-2008
- Posts: 102
Re: find / findAll o query?
Attenzione, con la 1.2 è cambiata la sintassi e soprattutto le performance di tali metodi:
$this->Model->find('all')
Ad'ogni modo Luizz ti consiglio di utilizzare l'associazione di CakePHP in quanto ti permette con una riga di avere quello che ti serve 
In caso puoi sempre usare più modelli sulla base delle tue esigenze 
- Title: New member
- Status: Offline
- Registered: 19-06-2008
- Posts: 6
Re: find / findAll o query?
Il vantaggio principale nell'utilizzo del metodo find è che se modifichi il database, per esempio aggiungendo un campo (capita eh..), non devi riscriverti tutte le query... non è poco e ti permette di lavorare in modo molto flessibile.
- Title: Member
- Status: Offline
- Registered: 04-02-2008
- Posts: 101
Re: find / findAll o query?
proprio poco fa ho conosciuto questo fantastico behavior:
http://cakebaker.42dh.com/2008/05/18/ne
ntainable/
merita decisamente un'occhiata, vi cambierà la vita 
- Title: Administrator
- Status: Offline
- From: Pisa
- Registered: 04-02-2008
- Posts: 102
Re: find / findAll o query?
Interessante devo dirlo forte... però sono un pò titubante sul fatto che sia una cosa nuova e come ogni cosa nuova è meglio assicurarsi che funzioni correttamente.
Al momento non ho di queste necessità però non appena ne avrò l'occasione la proverò 
Per il momento a me è più che sufficiente:
$this->Model->recursive = -1;
- Title: New member
- Status: Offline
- Registered: 19-06-2008
- Posts: 6
Re: find / findAll o query?
A me sembra che funzioni benissimo! E inoltre permette di eseguire query anche molto complesse, è ottimo!
- Title: Administrator
- Status: Offline
- From: Pisa
- Registered: 04-02-2008
- Posts: 102
Re: find / findAll o query?
pineye wrote:A me sembra che funzioni benissimo! E inoltre permette di eseguire query anche molto complesse, è ottimo!
Se ToX me la spiega meglio sarei contento di provare a usarla.. 
Posts [ 8 ]
Guest posting is disabled. You must login or register to post a reply.
Topic info
1 guests and 0 users are reading this topic now
Currently used extensions: pun_topic_online_users, pun_karma, pun_admin_hook_navigator, pun_bbcode. Copyright © 2008 PunBB