Hola a todos! Este es mi primer mail para el grupo y lamentablemente empiezo
pidiendo ayuda y no dandola.
Estoy construyendo un sitio con CakePHP desde hace un buen tiempo. La verdad
que muchas cosas de este framework son geniales; pero debido a la escasa
documentación ofical y mi falta de experiencia con Frameworks en general (no
asi con php que vengo trabajando hace ya bastante tiempo) se me ha hecho
difícil, en algunas ocasiones, avanzar rápidamente.
Hace no tanto pase a utilizar la rama 1.2.x.x porque traía varias mejoras
que consideraba útiles; aunque muy poco documentadas. Por suerte la
comunidad de CakePHP es bastante grande y he podido, hasta hace poco
almenos, arreglarmelas.

En fin, *hace varios dias ya que me estoy rompiendo la cabeza con el metodo
SaveAll<http://api.cakephp.org/class_model.html#49f295217028004b5a723caf086a86b1>
*. Este método afirma que "*Saves (a) multiple individual records for a
single model or (b) this record, as well as all associated records*".
Mi modelo en este caso se llama Billboard que vendría a ser un ítem de una
cartelera de espectáculos (este nombre es compartido por el Controlador y el
Modelo). Y tiene las siguientes relaciones:
var $hasAndBelongsToMany = array(
            'Image' => array(  'className'             => 'Image',
                        'joinTable'             => 'billboard_images',
                        'foreignKey'            => 'billboard_id',
                        'associationForeignKey' => 'image_id',
                ),
            'Schedule' => array(  'className'             => 'Schedule',
                        'joinTable'             => 'billboard_schedules',
                        'foreignKey'            => 'billboard_id',
                        'associationForeignKey' => 'schedule_id',
                ),
            'Tag' => array(  'className'             => 'Tag',
                        'joinTable'             => 'billboard_tags',
                        'foreignKey'            => 'billboard_id',
                        'associationForeignKey' => 'tag_id',
                )
        );
Como pueden ver, las tres relaciones son del tipo HABTM. Lo decidí así
porque hay otros modelos que también tienen asociados imágenes (Image) y
horarios (Schedule). Además, este ultimo modelo (Schedule) tiene las
siguiente relación:
var $belongsTo = array(
            'Place' =>
                array(  'className'    => 'Place',
                        'foreignKey'    => 'place_id' )
        );
        var $hasAndBelongsToMany = array(
            'Billboard' => array(  'className'             => 'Billboard',
                        'joinTable'             => 'billboard_schedules',
                        'foreignKey'            => 'schedule_id',
                        'associationForeignKey' => 'billboard_id',
                        'conditions'            => 'publicated = 1',
                        'order'                 => 'modified DESC',
            )
        );
En el *BillboardController* he agregado la acción *edit* y cree la vista,
constando esta de un formulario de edición. El volcado de $this->data al
momento de enviar el mismo (tome un ejemplo y lo recorte un poco) es:
Array
(
    [Billboard] => Array
        (
            [id] => 200, [title] => El alma de papá, [publicated] => 1,
            [start] => Array ( [day] => ,[month] => , [year] => ),
            [end] => Array( [day] => 04, [month] => 08, [year] => 2008),
            [synopsis] => Sinopsis, [credits] => Creditos, [price] => Precio
        )

    [Schedule] => Array
        (
            [0] => Array
                (
                    [id] => 2, [Place] => Array( [id] => 50, [name] =>
Teatro Del Pueblo ),
                    [description] => Sabados 21 hs. Domingo 20 hs.
                )

            [1] => Array
                (
                    [id] => 3
                    [Place] => Array( [id] => 137, [name] => Ritualarte )
                    [description] => Prueba
                )

        )
)
Finalmente, cuando llamo a *$this->Billboard->saveAll($this->data, true,
false)* *solamente me guarda el modelo Billboard y no los relacionados con
este*.
Disculpas por la longitud del mail, pero quería explicar todo detalladamente
porque, sinceramente, estoy muy atrasado con el proyecto debido a este error
y necesito una solución rápida; pero, en lo posible, de la mejor manera que
Cake lo permita.
Muchas Gracias. Saludos. Gonza.

--~--~---------~--~----~------------~-------~--~----~
Has recibido este mensaje porque estás suscrito a Grupo "CakePHP-es" de Grupos 
de Google.
 Si quieres publicar en este grupo, envía un mensaje de correo 
electrónico a CakePHP-es@googlegroups.com
 Para anular la suscripción a este grupo, envía un mensaje a [EMAIL PROTECTED]
 Para obtener más opciones, visita este grupo en 
http://groups.google.com/group/CakePHP-es?hl=es.

-~----------~----~----~----~------~----~------~--~---

Responder a