When i tried to debug($this->data['BusinessCategory']); in the Edit View, i can get correct array which is 3 records in the array.
On Apr 28, 2:19 pm, jackgoh <kockh...@gmail.com> 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 -- 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