Autoload modele çalışırken denetleyici önlemek

3 Cevap php

Ben bir başlangıç ​​Kek kullanıcısıyım ve zaten varolan bir uygulama üzerinde bazı işler yapmaya çalışıyor. Ben yeni bir denetleyicisi oluşturduğunuzda bir sorun haline çalıştırıyorum. Ben StoreController yarattık ve ben içine yöntemleri çağırmak çalıştığımda aşağıdaki hatayı alıyorum. Orada hiçbir tablo 'mağaza' olduğunu, ancak otomatik denetleyicisi ile ilgili bir model yüklemeye çalışıyor gibi görünüyor. Nasıl bu denetleyici için bir model yüklemeye çalışırken benim uygulama önleyebilir?

Missing Database Table
Error: Database table stores for model Store was not found.

3 Cevap

İşte bunu yapacak, sen de sadece bu yüzden gibi boş bir diziye atayabilirsiniz

var $uses = array();

Onu buldum ...

class StoreController extends AppController {

// Do not preload any models, we will do this on demand to prevent waste.
var $uses = '';

Bunu gibi bir AppController varsa ..

<?php
    Class AppController extends Controller {
        public $uses = array( 'GlobalModel' );
    }
?>

Ve boş bir dizi kullanabilirsiniz ...

<?php
    Class StoresController extends AppController {
        public $uses = array( );
    }
?>

Sonra StoresController hala AppController gelen GlobalModel erişimi olacak

Eğer kullanın

<?php
    Class StoresController extends AppController {
        public $uses = '';
    }
?>

Sonra StoresController HERHANGİ modellerine erişimi olmayacaktır.

Bir veritabanı tablosu ile denetleyicisi ilişkilendirmek istemiyorum çünkü birisi bir modeli olmayan bir denetleyici istediği zaman iyi bir miktar, öyle. Ama sunulan verilere daha kolay doğrulama yapma amacıyla vb ne düşünebilirsiniz olduğunu

<?php
    Class StoresController extends AppModel {
        public $name = "Stores";
        public $uses = array( 'Store' );
    }
?>

<?php
    Class Store extends AppModel {
        public $name = "Store";
        public $useTable = false;
    }
?>

Sonra Model :: _schema özelliğini kullanabilirsiniz. Bu olsa için daha çok istedi, o yüzden sen _schema ve DB tablo tarafından ele olmayacaktır doğrulayarak veriler üzerinde kendi araştırma yapalım olacaktır.

http://book.cakephp.org/view/442/_schema