2010-05-24 68 views
1

如何加載模型?我嘗試過幾次,但不起作用。如何加載模型?

我的代碼是:

<?php 
class NotesController extends AppController { 
var $name='Notes'; 

var $helpers = array('Html','Form','Ajax','Javascript'); 
var $uses = array('note'); 
var $components = array('ModelLoader'); 

function index(){ 

    $this->ModelLoader->setController($this); 
    $result = $this->params['url']['obj']; 
    //print_r($result); 
     $ee=$this->ModelLoader->load('note'); 

     $pass = $this->note->search($result); 
+1

爲什麼所有的問題都以? – 2010-05-24 06:20:38

回答

2

該模型是在控制器的功能自動加載和可訪問的$this->ModelName。加載哪個模型由控制器的名稱決定,NotesController自動加載Note模型。其他型號可以通過var $uses = array('Model')加載;

class NotesController extends AppController { 

    var $name='Notes'; 
    var $helpers = array('Html','Form','Ajax','Javascript'); 

    function index() { 
     $this->Note->someaction(); // Accessing the model 
    } 
} 

也許您應該先關注the tutorial

3

如果其他模型/ s的只有正在使用的功能中的一個或兩次,是不是最好使用

$myModel = ClassRegistry::init('SomeModel'); 

我聽說過這個模型加載器。但我已閱讀帖子,有些人建議不要使用它。

+1

看着那個ModelLoader組件,它已經3歲了。也許它在當時有用,但在最近的Cake版本中肯定是無稽之談。 'ClassRegistry :: init()'就夠了。 – deceze 2010-05-24 06:26:19