buscando buscando encontre un ejemplo donde realizaban lo mismo, el problema se da en que los nombres de archivo dentro de model deben ser singulares y no plurales:
books.php estaba mal y se debía llamar book.php lo mismo para authors.php debía ser author.php. En caso que a alguien mas le interese ver el link se los dejo: http://www.developer.com/lang/php/article.php/3636686/Scaffolding-with-CakePHP---Managing-Your-Fantasy-Football-Team.htm Slds. SVC. On 21 feb, 17:24, Sebastián Vera <[email protected]> wrote: > Hola, quería ver si me pueden ayudar con el siguiente problema: > > Siguiendo el ejemplo del libro respecto al uso de hasMany, belongsTo > al ejecutar la url no logro ver en el select los datos de la relación. > > Antecedentes: > > Linux Ubuntu 11.04 > php 5.3 > mysql 5.1.54 > cakephp 2.0.5 > > Les adjunto los códigos para ver si me pueden indicar porque falla. > > [MYSQL] > CREATE TABLE `authors` ( > `id` int( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY , > `name` varchar( 127 ) NOT NULL , > `email` varchar( 127 ) NOT NULL , > `website` varchar( 127 ) NOT NULL > ); > > CREATE TABLE `books` ( > `id` int( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY , > `isbn` varchar( 13 ) NOT NULL , > `title` varchar( 64 ) NOT NULL , > `description` text NOT NULL , > `author_id` int( 11 ) NOT NULL > ) > > mysql> select * from authors; > +----+----------------+-----------------+--------------+ > | id | name | email | website | > +----+----------------+-----------------+--------------+ > | 1 | Brian Weiss | [email protected] |www.bw.com | > | 2 | Dan Brown | [email protected] |www.db.com | > | 3 | Sebastian Vera | [email protected] |www.svera.cl| > +----+----------------+-----------------+--------------+ > 3 rows in set (0.00 sec) > > mysql> > > [CONTROLADORES] > authors_controller.php > <?php > > class AuthorsController extends AppController { > var $name = 'Authors'; > var $scaffold; > > } > > ?> > <?php > > class BooksController extends AppController { > var $name = 'Books'; > var $scaffold; > > } > > ?> > > books_controller.php > > [MODELOS] > books.php > <?php > class Book extends AppModel { > var $name = 'Book'; > var $displayField = 'Author.name'; > var $belongsTo = array ('Author' => array( > 'className' => 'Author', > 'foreignKey' => 'author_id' > ));} > > ?> > > authors.php > <?php > class Author extends AppModel { > var $name = 'Author'; > var $hasMany = array ('Book' => array( > > 'className' => 'Book', > 'foreignKey' => 'author_id', > ));} > > ?> > > cuando ejecuto la url:http://localhost/cake-bookstore/books/add > aparece el formulario pero el select box con la lista de autores > aparece en blanco y el código html es el siguiente: > > <form action="/cake-bookstore/books/add" id="BookAddForm" > method="post" accept-charset="utf-8"><div style="display:none;"><input > type="hidden" name="_method" value="POST"/></div><fieldset><legend>New > Book</legend><input type="hidden" name="data[Book][id]" id="BookId"/><div > class="input text"><label for="BookIsbn">Isbn</label><input > > name="data[Book][isbn]" maxlength="13" type="text" id="BookIsbn"/></ > div><div class="input text"><label for="BookTitle">Title</label><input > name="data[Book][title]" maxlength="64" type="text" id="BookTitle"/></ > div><div class="input textarea"><label > for="BookDescription">Description</label><textarea name="data[Book] > [description]" cols="30" rows="6" id="BookDescription"></textarea></ > div><div class="input select"><label for="BookAuthorId">Author</ > label><select name="data[Book][author_id]" id="BookAuthorId"> > </select></div></fieldset><div class="submit"><input type="submit" > value="Submit"/></div></form> > > De ante manos muchas gracias. > > Slds. > SVC. -- Has recibido este mensaje porque estás suscrito al grupo "CakePHP-es" de Grupos de Google. Para publicar una entrada en este grupo, envía un correo electrónico a [email protected]. Para anular tu suscripción a este grupo, envía un correo electrónico a [email protected] Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/cakephp-es?hl=es.
