2010-05-24 67 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