Domanda

In torta 1.2 c'è una funzione che consente agli sviluppatori di non dover creare modelli, ma piuttosto torta fare il lavoro di detective in fase di esecuzione e creare il modello che fa per voi.Questo processo avviene ogni volta che è pulito, ma nel mio caso molto pericolosi.Ho letto questo da qualche parte e ora sto vivendo il lato negativo di questo.

Ho creato un plugin con tutti i file e tutto sembrava essere solo grande.Che è fino a quando ho cercato di utilizzare alcuni del modello le associazioni e le funzioni.Poi torta sostiene che questo modello ho creato non esiste. Ho ristretto la scelta a torta con questo modello automatico invece la funzionalità di lancio e di errore!Quindi non ho idea di ciò che è sbagliato!

Qualcuno sa come disattivare questa funzione auto funzione del modello?È una buona idea, ma non riesco a trovare dove ho sbagliato con il mio plugin e un errore sarebbe molto utile!

È stato utile?

Soluzione 2

Torta 1.2

Si tratta di un hack ed è brutto cus è necessario modificare core torta di file, ma questo è come lo faccio:\cake\libs\class_registry.php :linea 127ish

if (App::import($type, $plugin . $class)) {
    ${$class} =& new $class($options);
} elseif ($type === 'Model') {
    /* Print out whatever debug info we have then exit */
    pr($objects);
    die("unable to find class $type, $plugin$class");
    /* We don't want to base this on the app model */
    ${$class} =& new AppModel($options);
}

Torta 2

Costa consiglia la sostituzione $rigoroso a true la funzione init on line 95 Cake\Utility\ClassRegistry.php

Vedere la Torta di Api Docs per init

ClassRegistry.php - funzione init

Altri suggerimenti

C'è sempre la possibilità di creare effettivamente il file del modello e set var $useTable = false.
Se questo non è quello che stai chiedendo e il modello e le sue associazioni in realtà non esiste, ma la Torta sembra essere in grado di trovare loro, dovrete tripla controllare i nomi di tutti i modelli e i loro nomi di classe sia l'effettiva definizione del modello e dell'associazione definizioni.

Per quanto ne so non è possibile disabilitare la funzione di modellazione.

Utilizzare

var $useTable = false;

nella definizione del modello.

Eliminare tutti i file memorizzati nella cache (tutti i file della cartella app/tmp, tenere le cartelle)

Nella maggior parte dei casi, in cui le modelle sembrano agire in modi inaspettati, spesso essi non comprendono le modifiche apportate, è perché questa torta è usando una vecchia versione memorizzata nella cache del modello.

Uh...da dove cominciare.In primo luogo, come Alexander suggerito, cancellare la cache dell'applicazione.

Se è ancora ottenere lo stesso comportamento, probabilmente c'è qualcosa di sbagliato con la classe e/o nomi di file.

Ricordate le regole, per il controller:

* classname: BlastsController
* filename: blasts_controller.php

per il modello:

* classname: Blast
* filename: blast.php

Non foget per gestire l'irregolare inflessioni correttamente.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top