Retrieving data in CakePHP
CakePHP February 14th, 2007A function to retrieve data in CakePHP is the findAll() model function.
It has the following syntax:
PHP:
-
findAll($conditions, $fields, $order, $limit, $page, $recursive);
-
string $conditions;
-
array $fields;
-
string $order;
-
int $limit;
-
int $page;
-
int $recursive;
For example to retrive all the data from a table you will use following:
PHP:
-
$this->set($var, $this->Modelname->findAll());
With the “set function” the $var value will be send to the view. In the case above all the fields of the table will be retrieve.
Examples using findAll()
To sort the data by a certain field we can use:
PHP:
-
$this->set($var, $this->Modelname->findAll(null, null, ‘Modelname.field’));
For ascending:
PHP:
-
$this->set($var, $this->Modelname->findAll(null, null, ‘Modelname.field ASC’));
Descending:
PHP:
-
$this->set($var, $this->Modelname->findAll(null, null, ‘Modelname.field DESC’));
Only first 10 results:
PHP:
-
$this->set($var, $this->Modelname->findAll(null, null, ‘Modelname.field DESC’, 10));
The second results page:
PHP:
-
$this->set($var, $this->Modelname->findAll(null, null, ‘Modelname.field DESC’, 10, 2));
Putting some conditions in the query:
PHP:
-
$this->set($var, $this->Modelname->findAll(‘Modelname.id> 1’, null, ‘Modelname.field DESC’, 10 ));
September 19th, 2007 at 8:29 pm
Hey! Thanks a lot for this little snippets! Really helped
At first it was giving me a T_STRING error or something. It think it was because when I copy/pasted the code from this site, my text editor misintepreted the ‘ symbol or something. So I just typed it out and it worked
September 22nd, 2007 at 10:57 am
You’re welcome. Glad it helped.
November 5th, 2007 at 1:41 pm
[...] Retrieving data in CakePHP [...]
January 31st, 2008 at 8:08 pm
Salut,
Sunt incepator cu (cake)php si nu stiu cum sa extrag valorile din arrayurile care se intorc in view. Nu am gasit pe nicaieri un tutorial “pentru prosti” si poate reusesti tu sa ma ajuti, normal, daca ai putin timp.
Iti dau un exemplu practic:
am o relatie de hasMany intre cars si pics (Car hasMany Pic). In view-ul de edit la masini mi se intorc valorile relative la pozele apartinand masinii respective pentru ca le vad in dump dar nu le stiu accesa. Poate poti sa ma ajuti cu problema asta, mi-ar fi de mare ajutor. Dau mai jos valorile care se intorc in dump, sper ca am fost destul de clar ca la mine in cap e cam varza acum:). Mersi mult, te-as ruga sa imi raspunzi pe mail daca poti.
[Pic] => Array
(
[0] => Array
(
[id] => 2
[car_id] => 8
[title] => poza vito
[created] => 2008-01-31
[modified] => 2008-01-31
)
[1] => Array
(
[id] => 3
[car_id] => 8
[title] => poza vito2
[created] => 2008-01-31
[modified] => 2008-01-31
)
)
)
February 6th, 2008 at 7:13 pm
Salut, vad ca mi-ai aprobat commentul dar daca mi-ai raspuns sa stii ca nu am primit nimic pe mail si mi-e sa nu fi intrat la spam. Daca imi dai raspuns aici e ok, am sa verific si zilele urmatoare, oricum am gasit o gramada de lucruri folositaore la tine pe site. Si inca ceva, sa fac commenturile in engleza sa inteleaga si cetatzenii? Mersi
February 8th, 2008 at 12:21 am
Salut Mishu, din pacate nu ti-am raspuns pe email la intrebare din lipsa timpului sunt prins cu multe in ultima vreme si dupa cum vezi blogul a cam ramas “parloaga”
. In legatura cu intrebarea ta legata de relatia hasMany nu prea am cum sa iti raspund tot din lipsa timpului si mai ales din faptul ca de aproape un an de zile nu am mai folosit cake la realizarea vreunui proiect. Daca imi fac timp weekendul acesta am sa caut niste surse mai vechi de ale mele unde aveam ceea ce ceri tu mai sus facut.
P.S. Nu e nici o problema daca scrii in romana la comenturi. Mersi de feedback!
July 18th, 2010 at 2:09 pm
Could you explain me the difference between findAll and find(’all).
In my case findAll gave query error and the find(’all’) gave the correct output