SORU
11 HAZİRAN 2009, PERŞEMBE


CakePHP farklı bir model içinde bir model kullanabilir miyim?

Bir model içinde başka bir Model kullanabilir miyim?

Örn.

<?php
class Form extends AppModel
{
    var $name='Form';
    var $helpers=array('Html','Ajax','Javascript','Form');
    var $components = array( 'RequestHandler','Email');

    function saveFormName($data)
    {
        $this->data['Form']['formname']=$data['Form']['formname'];
        $this->saveField('name',$this->data['Form']['formname']);
    } 

    function saveFieldname($data)
    {
        $this->data['Attribute']['fieldname']=$data['Attribute']['fieldname'];
    }

}
?>

CEVAP
20 Ocak 2011, PERŞEMBE


Ama cevaplar eksik olduğuna inanıyorum çünkü düşmek için gidiyorum ve eksik eski konu "neden". CakePHP yük modelleri için üç yolu vardır. Sadece iki yöntem Denetleyicisi dışında çalışmasına rağmen, her üç bahsedeceğim. Sürüm olup olmadığı konusunda emin değilim ama bu işi yapacaklarına inanıyorum çok temel şeyler.

App::import()require()dosyası ve sınıf oluşturmak gerekir bulur kullanmak için sadece. import() sınıfı, adı ve dosya yolu detay tipine söyleyebilirsin.

ClassRegistry::init()dosyayı yükler, nesne eşleme örneği ekler ve örnek verir. Bu "şeyler gibi normal yollarla sınıfı yükledi. olur" Pasta setleri, çünkü bir şey yüklemek için iyi bir yoldur Ayrıca yararlı buldum hangi sınıf adı için bir takma ad ayarlayabilirsiniz.

Controller::loadModel()kullanır ClassRegistry::init() gibi denetleyici bir özellik olarak Modeli ekler. Ayrıca gelecek istekler üzerine model önbellekleme $persistModel sağlar. Bu sadece bir Denetleyicisi olarak çalışır ve, eğer durum buysa, diğerleri daha önce bu yöntemi kullanırdım.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • emimusic

    emimusic

    10 Mart 2006
  • Jonnyriddlin1

    Jonnyriddlin

    4 Ocak 2007
  • LimeFire

    LimeFire

    2 ŞUBAT 2012