日期:2014-05-16  浏览次数:20455 次

model()怎么理解?
YII中有这样一段代码,$post=Post::model()->findByAttributes($attributes,$condition,$params);
     Post::model()->find()->attributes。
这里的model()改如何理解啊
------解决方案--------------------
model覆盖了父类方法,实例化这个类的对象。
你的例子,也就是说model()实例了Post这个类的实例
findByAttributes这个方法也在父类里。


//这个是ar类里的方法。
public static function model($className=__CLASS__)
{
    if(isset(self::$_models[$className]))
        return self::$_models[$className];
    else
    {
        $model=self::$_models[$className]=new $className(null);
        $model->_md=new CActiveRecordMetaData($model);
        $model->attachBehaviors($model->behaviors());
        return $model;
    }



------解决方案--------------------
Post::model() 返回一个指定的对象
------解决方案--------------------
model方法返回POST类的实例。