Devre Dışı CakePHP'nin Otomatik Model "özelliği"

5 Cevap php

Kek 1.2 hiçbir geliştirici modeller oluşturmak zorunda değil pasta zamanında dedektiflik yapmak ve sizin için model oluşturmak var sağlayan bir özelliği vardır. Bu süreç, her zaman olur ve çok tehlikeli düzgün ama benim durumumda olan. Ben bu yerde okumak ve şimdi ben bu kötü tarafı yaşıyorum.

Ben tüm dosyaları ile bir eklenti oluşturduk ve her şey sadece büyük olduğu ortaya çıktı. I modelin dernekleri ve bazı işlevleri kullanmayı denediniz kadar olmasıdır. Sonra kek Ben yarattığımız bu modeli yok iddia. I've narrowed it down to cake using this auto model feature instead of throwing and error! Yani ben yanlış bir fikrim yok!

Herkes bu otomobil modeli özelliği devre dışı bırakmak için nasıl biliyor mu? Bu iyi bir düşünce, ama benim eklenti ile yanlış gittin ve bir hata çok yararlı olacaktır nerede bulmak gibi olamaz!

5 Cevap

Cake 1.2

It's a hack and it's ugly cus you need to edit core cake files but this is how i do it: \cake\libs\class_registry.php : line 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);
}

Cake 2

Costa Cake\Utility\ClassRegistry.php hattı 95 init fonksiyonu true sıkı $ değişen önerir

See Cake Api Docs for init

ClassRegistry.php - init function

There's always the possibility to actually create the model file and set var $useTable = false.
If this is not what you're asking for and the model and its associations actually do exist, but Cake seems to be unable to find them, you'll have to triple check the names of all models and their class names in both the actual model definition and in the association definitions.

AFAIK Eğer otomatik modelleme devre dışı olamaz.

Kullanım

var $useTable = false;

senin modeli tanımı.

(App / tmp altındaki tüm dosyaları klasörleri tutmak) Tüm cached files Sil

Modelleri beklenmedik şekillerde hareket gibi görünüyor çoğu durumda, genellikle yaptığınız değişiklikleri içerir dont pasta modelin eski bir önbelleğe alınmış sürümünü kullanıyorum, çünkü öyle.

Ah ... biz nerede başlar. İlk olarak, Alexander önerdiği gibi, app önbelleğini temizleyin.

Eğer hala aynı davranışı alırsanız, sınıf ve / veya dosya adları ile yanlış bir şey muhtemelen yoktur.

Denetleyicisi için, the rules hatırlıyorum:

* classname: BlastsController
* filename: blasts_controller.php

model:

* classname: Blast
* filename: blast.php

handle the irregular inflections düzgün foget etmeyin.