En premier lieu, il est une convention que si vous les champs enregistrez mis en correspondance avec le même modèle et que vous voulez multiples db insère que le tableau de données doit être formaté comme Mike dit ci-dessus.
-à-dire le modèle {n } .field
vous pouvez voir clairement qu'ils explicitement dire que lorsque vous enregistrez le même nom de champ dans le même modèle à plusieurs reprises que cette est la convention comme le titre de la section du manuel est le nom « Naming Champ Conventions "
http://book.cakephp.org/view/1390/Automagic-Form-Elements#Field-naming-convention-1391
Vous ne pouvez pas vraiment appeler le problème d'entrée d'un bug CakePHP si la méthode d'entrée n'a pas été écrit pour vous accueillir en utilisant la méthode de façon non intentionnelle. La méthode scinde explicitement la chaîne passée sur le "." caractère et suppose que si vous utilisez une chaîne avec le "." Deuxièmement, lorsque je teste votre code à ma fin, il présente un bug légitime - il utilise les index numériques I attendre, mais les doublons ..
-à-dire [0] [0] [descripteur] [titre], 1 [descripteur] [title]
Lorsque je déplace l'index où la sauvegarde * fonctions attendent que ce soit , l'analyse est parfaite.
à savoir [descripteur] [0] [titre], Descriptor [titre]
Donc, si vous voulez utiliser les aides que vous devriez être de les utiliser dans la façon dont ils sont censés travailler. Ce n'est pas un bug si vous inventez votre propre casse qui n'était pas destiné à être supporté par l'assistant pour commencer. À en juger par votre exemple, il n'y a aucune raison de ne pas utiliser saveAll de toute façon. Avez-vous une raison de l'éviter? Cela semble être la bonne façon de faire ce que vous demandez.
** RÉVISÉ POUR FIXER BILLET http://cakephp.lighthouseapp.com/projects/42648/tickets/867 **
App ce que app/views/app_view.php
<?php
App::import('View', 'View', false);
class AppView extends View {
/**
* Constructor
*
* @param object $controller
*/
function __construct(&$controller){
parent::__construct($controller);
}
/**
* Temporary View::entity fix for 1.2.5
* Returns the entity reference of the current context as an array of identity parts
*
* @return array An array containing the identity elements of an entity
* @access public
*/
function entity() {
$assoc = ($this->association) ? $this->association : $this->model;
if (!empty($this->entityPath)) {
$path = explode('.', $this->entityPath);
$count = count($path);
if (
($count == 1 && !empty($this->association)) ||
($count == 1 && $this->model != $this->entityPath) ||
($count == 2 && !empty($this->fieldSuffix)) ||
is_numeric($path[0]) && !empty($assoc)
) {
array_unshift($path, $assoc);
}
return Set::filter($path);
}
return array_values(Set::filter(
array($assoc, $this->modelId, $this->field, $this->fieldSuffix)
));
}
}
?>
votre contrôleur d'utiliser la vue avec sa propriété publique de vue $.
<?php
class FooController extends Controller {
...
...
var $view = 'App';
...
...
}
?>
Vous devriez déposer un ticket à ce sujet. Les erreurs d'index sonnent mal et si c'est un véritable bug, je mange humblement mes commentaires. –
Cela semble être un bug. Il a été corrigé pour 1.3 et un scénario de test a été ajouté pour 1.2.7: http://cakephp.lighthouseapp.com/projects/42648/tickets/867-formhelper-string-concatenation-converting-zero-to-unset-in -cakephp – Leo