When use find('list',....), it is: Array ( [1] => 4 )
But the result suppose is : Array ( [1] => 7 [1] => 14 [1] => 4 ) It is always get the last record. Thanks On Apr 28, 3:14 pm, Jeremy Burns | Class Outfit <jeremybu...@classoutfit.com> wrote: > What are the results of find list? > > Jeremy Burns > Class Outfit > > jeremybu...@classoutfit.comhttp://www.classoutfit.com > > On 28 Apr 2011, at 07:19, jackgoh wrote: > > > > > Hi Jeremy, > > > - There is a missing ' before category_id after > > 'associationForeignKey' > > => sorry, my typo in this content only. sorry. > > > - Your conditions in the find->list look wrong; try 'conditions' => > > array('stock_id' => $this->Stock->id) > > => The results are the same. both ways are working, but your > > suggestion way is better. ;) > > > - The convention is to name your joining table CategoryStock (the two > > models are in alphabetical order). Although your arrangement ought to > > work, I generally stay with conventions unless there is a compelling > > reason not to. > > => I changed it as what you suggested. (in Stock model & StockCategory > > model) > > > - Do you have a model for StockCategory? > > => Yes: > > class CategoryStock extends AppModel > > { > > var $name = CategoryStocks; > > } > > > - What happens when you use find 'all' rather than 'list'? > > => i got the correct array!! But the result look like: > > Array > > ( > > [0] => Array > > ( > > [CategoryStock] => Array > > ( > > [stock_id] => 1 > > [business_category_id] => 4 > > ) > > > ) > > > [1] => Array > > ( > > [CategoryStock] => Array > > ( > > [stock_id] => 1 > > [business_category_id] => 7 > > ) > > > ) > > [2] => Array > > ( > > [CategoryStock] => Array > > ( > > [stock_id] => 1 > > [business_category_id] => 14 > > ) > > > ) > > > ) > > > - What happens when you die(debug($selectedRecord)) in your controller > > before passing it to your view? > > => same as above result. > > > Out of interest, what does the resulting SQL look like? > > => (i simplified) :SELECT CategoryStock.* FROM `stock_CategoryStocks` > > AS `CategoryStock` WHERE `stock_id` = 1 , effected rows is 3 , which > > is always correct, when use the find('list'), the effected rows is > > still 3, but debug($selectedRecord) show only 1 record in the array. > > Weird. > > > Thanks. > > > Regards > > Jack > > > On Apr 28, 12:03 pm, Jeremy Burns | Class Outfit > > <jeremybu...@classoutfit.com> wrote: > >> These might be typos but some of the code looks *slightly* odd. > > >> - There is a missing ' before category_id after 'associationForeignKey' > >> - Your conditions in the find->list look wrong; try 'conditions' => > >> array('stock_id' => $this->Stock->id) > >> - The convention is to name your joining table CategoryStock (the two > >> models are in alphabetical order). Although your arrangement ought to > >> work, I generally stay with conventions unless there is a compelling > >> reason not to. > >> - Do you have a model for StockCategory? > >> - What happens when you use find 'all' rather than 'list'? > >> - What happens when you die(debug($selectedRecord)) in your controller > >> before passing it to your view? > > >> Out of interest, what does the resulting SQL look like? > > >> Jeremy Burns > >> Class Outfit > > >> jeremybu...@classoutfit.comhttp://www.classoutfit.com > > >> On 27 Apr 2011, at 22:51, jackgoh wrote: > > >>> Hi cricket, > > >>> The $this->Stock->id is set correctly. And the SQL is working > >>> perfectly, i can get the correct number of records (which 3 of them: > >>> 4, 7, 14) > > >>> On Apr 27, 1:53 am, cricket <zijn.digi...@gmail.com> wrote: > >>>> Is $this->Stock->id set to something? What does the SQL look like? Set > >>>> debug to 2 to see it. > > >>>> On Mon, Apr 25, 2011 at 1:25 PM, jackgoh <kockh...@gmail.com> wrote: > >>>>> Hi, > > >>>>> I am facing some problem when deal with a realtionship tables, the > >>>>> record is not display : > > >>>>> // in Stock model: > >>>>> var $hasAndBelongsToMany = array( > >>>>> 'Category' => array( > >>>>> 'className' => 'Category', > >>>>> 'joinTable' => 'category', > >>>>> 'foreignKey' => 'stock_id', > >>>>> 'associationForeignKey' => category_id', > >>>>> 'with' => 'StockCategory', > >>>>> ), > >>>>> ); > > >>>>> // in Stock controller: > >>>>> $selectedRecord = $this->Stock->StockCategory->find('list', > >>>>> array( 'fields'=>array('stock_id','category_id'), > >>>>> 'conditions'=>array('stock_id='.$this->Stock->id) ) ); > >>>>> $this->set(compact('selectedRecord')); > > >>>>> I try to copy the SQL by using debug() to phpmysql, and i get 3 lines > >>>>> of records. but when i try to PRINT_R the $selectedRecord, i can only > >>>>> get 1 record, example: > > >>>>> Array > >>>>> ( > >>>>> [1] => 4 > >>>>> ) > > >>>>> Suppose the result have to be : > > >>>>> Array > >>>>> ( > >>>>> [1] => 4 > >>>>> [1] => 7 > >>>>> [1] => 14 > >>>>> ) > > >>>>> Values : 4,7,14 are category_id, [1] is stock_id. There is a table > >>>>> call "category" to store all the category name. > > >>>>> Please point out whats wrong to my code or logic?? > > >>>>> Thanks > > >>>>> Best Regards. > > >>>>> -- > >>>>> Our newest site for the community: CakePHP Video > >>>>> Tutorialshttp://tv.cakephp.org > >>>>> Check out the new CakePHP Questions > >>>>> sitehttp://ask.cakephp.organdhelpothers with their CakePHP related > >>>>> questions. > > >>>>> To unsubscribe from this group, send email to > >>>>> cake-php+unsubscr...@googlegroups.com For more options, visit this > >>>>> group athttp://groups.google.com/group/cake-php-Hidequoted text - > > >>>> - Show quoted text - > > >>> -- > >>> Our newest site for the community: CakePHP Video > >>> Tutorialshttp://tv.cakephp.org > >>> Check out the new CakePHP Questions sitehttp://ask.cakephp.organdhelp > >>> others with their CakePHP related questions. > > >>> To unsubscribe from this group, send email to > >>> cake-php+unsubscr...@googlegroups.com For more options, visit this group > >>> athttp://groups.google.com/group/cake-php-Hide quoted text - > > >> - Show quoted text - > > > -- > > Our newest site for the community: CakePHP Video > > Tutorialshttp://tv.cakephp.org > > Check out the new CakePHP Questions sitehttp://ask.cakephp.organd help > > others with their CakePHP related questions. > > > To unsubscribe from this group, send email to > > cake-php+unsubscr...@googlegroups.com For more options, visit this group > > athttp://groups.google.com/group/cake-php- Hide quoted text - > > - Show quoted text - -- Our newest site for the community: CakePHP Video Tutorials http://tv.cakephp.org Check out the new CakePHP Questions site http://ask.cakephp.org and help others with their CakePHP related questions. To unsubscribe from this group, send email to cake-php+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/cake-php