Salve a tutti.
Ho un problema che non riesco a risolvere, nel salvataggio di una relazione 1 a molti.
Le tabelle in questione sono:
Tabella fumetti, tabella categoria_fumetti.
Il problema è che quando provo dare qualsiasi tipo di save quindi saveAssociated o saveAll, sia con paramentro deep = true, cake incrementa solamente la chiave primaria senza inserire il record:
Attualmente i modelli contengono le seguenti relazioni:
Comic:
CategoriaFumetto:codice:public $hasMany = array( 'CategoriaFumetto' => array( 'className' => 'CategoriaFumetto', 'foreignKey' => 'id_fumetto', ), 'Comment' => array( 'className' => 'Comment', 'foreignKey' => 'id_fumetto' ), 'Comicpage' => array( 'className' => 'Comicpage', 'foreignKey' => 'id_fumetto' ) ); public $belongsTo = array( 'Author' => array( 'className' => 'Author', 'foreignKey' => 'autore' ) );
Per struttura i dati utilizzo il metodo beforeSave che, nel modello CategoriaFumetto me li restituisce in questo modo:codice:public $belongsTo = array( 'Category' => array( 'className' => 'Category', 'foreignKey' => 'id_categoria' ), 'Comic' => array( 'className' => 'Comic', 'foreignKey' => 'id_fumetto' ) );
e ovviamente non salva nulla, mentre l'unico momento in cui sono riuscito a salvare un singolo record, è stato in questa forma:codice:Array ( [CategoriaFumetto] => Array ( [0] => Array ( [id_fumetto] => 23 [id_categoria] => 1 [data] => 1414148146 ) [1] => Array ( [id_fumetto] => 23 [id_categoria] => 2 [data] => 1414148146 ) ) )
Ho provato in tutti modi con o senza modello come chiave ma non vuole saperne, e secondo la documentazione se non l'ho mal intelpretata dovrebbe essere la forma corretta.codice:Array ( [CategoriaFumetto] => Array ( [id_fumetto] => 23 [id_categoria] => 1 [data] => 1414148146 ) )
Grazie mille per l'aiuto

Rispondi quotando