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.

Responder a