zhjphp 2012-08-16 14:04:41 3055次浏览 8条回复 0 0 0

我之前用了一些其他的框架,例如 CI 等,它们对于 model 的定位是一些可复用的类可以写成模型来重复调用,或者与数据库打交道的代码写在 model 中使其与控制器分离。

但是我们 YII 的文档中对于模型的介绍就是一段话。。。我有点晕,没有找到 model 的功能定义,也没找到 model 在控制器或是其他地方调用的方法(我对 YII 很不了解),以及在深层目录中的 model 如何调用。

在此求教!!!

  • 回复于 2012-08-16 14:45 举报

    yii里面有个blog的demo,你可以去看看。

  • 回复于 2012-08-16 15:21 举报

    demo我看了,但是还是不清楚 YII 对 model 的定位~
    在请问:如果写的 MODEL 不是直接在 models 目录下,而是在 models/admin/user 这样的目录下如何调用呢?应该不能直接 new 类名字就行把 。

  • 回复于 2012-08-16 15:27 举报

    就是在models目录下建立model文件。可以直接new的。

  • 回复于 2012-08-16 15:36 举报

    我写的 model 目录是 /models/admin/user/Usermodel.php

    我在控制器中 $user = new Usermodel ( ) ;
    弹出 include(Usermodel.php): failed to open stream: No such file or directory 的错误,挠头啊,应该怎么写啊~~~晕了。。。为啥这写基本知识官方手册中没有呢。。。

  • 回复于 2012-08-16 15:53 举报

    不用这样引入的。如果在配置文件里加了

    'import'=>array(
        'application.models.*',
        'application.components.*',
    ),
    

    就不用include了。

  • 回复于 2012-08-16 16:05 举报

    非常感谢斑竹的辛苦回答,问题解决了,另外再问一下,views 里的多层文件夹(像刚才的model的多层目录)如何用 render 引用呢?
    render('文件名'); 这样也没法引用~

  • 回复于 2012-08-16 17:34 举报

    详情看:http://www.yiichina.com/doc/api/1.1/CController#render-detail
    例如在controller里:$this->render('site/login',array('model'=>$model));

  • 回复于 2012-08-19 14:30 举报

    这个地方我也糊里糊涂的。

您需要登录后才可以回复。登录 | 立即注册