Hi, Here's my Category model:
<code> <?php class Category extends AppModel { var $name = 'Category'; var $displayField = 'cat_name'; var $validate = array( 'catList' => VALID_NOT_EMPTY, 'id' => VALID_NOT_EMPTY, 'cat_name' => VALID_NOT_EMPTY, ); var $hasMany = array ('Product' => array( 'className' => 'Product', 'conditions'=> '', 'order'=> '', 'foreignKey'=>'cat_id') ); } ?> </code> Product Model: <code> <?php class Product extends AppModel { var $name = 'Product'; var $hasAndBelongsToMany = array ('Category' => array( 'className' => 'Category', 'conditions'=> '', 'order'=> '', 'foreignKey'=>'cat_id') ); } ?> </code> ASCII code? Do you mean this? Categories: +------------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +------------+-------------+------+-----+---------+----------------+ | id | int(5) | | PRI | NULL | auto_increment | | cat_name | varchar(50) | | | | | | cat_parent | int(5) | | | 0 | | +------------+-------------+------+-----+---------+----------------+ Products: +----------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +----------+--------------+------+-----+---------+----------------+ | id | int(20) | | PRI | NULL | auto_increment | | cat_id | int(5) | | | 0 | | | productname | varchar(100) | | | | | +----------+--------------+------+-----+---------+----------------+ Thanks. On Dec 1, 11:36 pm, "Dardo Sordi Bogado" <[EMAIL PROTECTED]> wrote: > 2007/12/1, Joyce <[EMAIL PROTECTED]>: > > Hi, > > > I would like to apologize for being a nuisance. It is ok. Your English > > is understandable, it is only probably I couldn't get the point, not > > really used to using cakePhp, somehow have a sense of being > > restricted, which may be the fact that I am not used to it. > > yes, I felt like that in the beginning, now I love CakePHP. > > > > > Hardcoring can get things pretty straight forward, but it takes time. > > Hence, it is kind of a trade off in between. > > > > If you have all associations set correctly, you can put in the > > > ProductsController: > > > Is there anything that I will need to set in besides this: > > $this->set('categories', $this->Product->Category->generateList(null, > > null, null, > > "{n}.Category.id", "{n}.Category.catname")); > > > Is it the $hasMany (for Product) and $BelongsTo (Category) under their > > model? > > > If it is these, then I have tried but there is an issue whenever I do > > any action to them (add, edit, etc), they will prompt for the table > > products_categories error. Do I have to set a table for it, or > > otherwise? Below is the output result: > > > <output result> > > > Query: DELETE FROM `categories_products` WHERE cat_id = '7' > > Warning: SQL Error: 1146: Table 'testdb.categories_products' doesn't > > exist in /home/testdb/cake/libs/model/datasources/dbo_source.php on > > line 440 > > > Query: INSERT INTO `categories_products` (cat_id,category_id) VALUES > > (7,6) > > Warning: SQL Error: 1146: Table 'testdb.categories_products' doesn't > > exist in /home/testdb/cake/libs/model/datasources/dbo_source.php on > > line 440 > > > Warning: Cannot modify header information - headers already sent by > > (output started at /home/testdb/cake/basics.php:697) in /home/testdb/ > > cake/libs/controller/controller.php on line 447 > > > </output result> > > Seems like you have wrong your associations. Can you post the source > code from both models and the tables definitions (just ASCII, no SQL > please)? > > And maybe have a look at : > > *http://manual.cakephp.org/chapter/models > *http://tempdocs.cakephp.org/#TOC78831 > *http://bennerweb.com/node/16(Understanding CakePHP Associations) > > HTH. > > > Thanks for your assistance. > > You're welcome. > > - Dardo Sordi. > > P/D: What I love more about CakePHP is this group, ( and the bake script :P ) > > > > > On Dec 1, 8:04 am, "Dardo Sordi Bogado" <[EMAIL PROTECTED]> wrote: > > > Hi,> I don't quite get you. > > > > that's probably because my English sucks! (I'm a Spanish speaker) > > > > > Do you mean something like this if I have a > > > > products table with fieldname: id, productname, cat_id, and I would > > > > need a select element under the product, where I will be able to > > > > select the categories? > > > > > $this->set('categories', $this->Category->generateList(null, null, > > > > null, "{n}.categories.id", "{n}.categories.catname")); > > > > > Do I put this under the Category Controller or Products Controller? > > > > If you have all associations set correctly, you can put in the > > > ProductsController: > > > > $this->set('categories', > > > $this->Product->Category->generateList(null, null, null, > > > "{n}.Category.id", "{n}.Category.catname")); > > > > > Thanks. > > > > You're welcome. > > > > > On Dec 1, 5:41 am, "Dardo Sordi Bogado" <[EMAIL PROTECTED]> wrote: > > > > > I you want to use fields from associated tables, use the key/valuePath > > > > > options in Model::generateList(), and set recursive to the apropiate > > > > > value. > > > > > > 2007/11/30, Dardo Sordi Bogado <[EMAIL PROTECTED]>: > > > > > > > This is for fields from the same table. I don't understand what you > > > > > > mean with "the aro aco method". > > > > > > > 2007/11/30, Joyce <[EMAIL PROTECTED]>: > > > > > > > > Can this solution for fieldname within same table be used with > > > > > > > those > > > > > > > that are of different tables? Or do I have to use the aro aco > > > > > > > method > > > > > > > for that? > > > > > > > > Thanks. > > > > > > > > On Dec 1, 4:23 am, "Dardo Sordi Bogado" <[EMAIL PROTECTED]> wrote: > > > > > > > > There are thre ways: > > > > > > > > > 1. If you are using Model::generateList(), ex: > > > > > > > > > // generateList ($conditions, $order, > > > > > > > > $limit, > > > > > > > > $keyPath=, $valuePath) > > > > > > > > $categories = $this->Category->generateList(null, null, null, > > > > > > > > null, > > > > > > > > '{n}.Category.catname'); > > > > > > > > > 2. Also you can just set Model::$displayField : > > > > > > > > > class Category extends AppModel { > > > > > > > > var $name = 'Category'; > > > > > > > > var $displayField = 'catname'; > > > > > > > > > } > > > > > > > > > Then, it becomes: > > > > > > > > > $categories = $this->Category->generateList(); > > > > > > > > > 3. You can rename colmn catname to name (default displayField). > > > > > > > > > I think number 2 is best. > > > > > > > > > Dardo Sordi. > > > > > > > > > 2007/11/30, Joyce <[EMAIL PROTECTED]>: > > > > > > > > > > Hi all, > > > > > > > > > > I am a newbie in cakePHP, and I have created a table as per > > > > > > > > > below. > > > > > > > > > > I have 3 fields for my categories table, and would like > > > > > > > > > tocreatea > > > > > > > > > Select form element to insert new categories and link within > > > > > > > > > the table > > > > > > > > > itself(where the parent_id comes from the id). > > > > > > > > > > Such that it will echo the select option in this manner: > > > > > > > > > <select><option value="id">catname</option></select>, where > > > > > > > > > the values > > > > > > > > > of "id" and "catname" are populated from the table below. > > > > > > > > > > categories table: > > > > > > > > > id > > > > > > > > > catname > > > > > > > > > parent_id > > > > > > > > > > I have tried some of the ways that will google help, but none > > > > > > > > > seems > > > > > > > > > successful, in which I could only end up with the id instead > > > > > > > > > of > > > > > > > > > catname. > > > > > > > > > > Please advise. Thanks in advance. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Cake PHP" group. To post to this group, send email to cake-php@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/cake-php?hl=en -~----------~----~----~----~------~----~------~--~---