答えはドキュメントのリンクにmodel()
あり、クラスレベルのメソッドであり、次のようになります。
指定されたARクラスの静的モデルを返します。返されるモデルは、ARクラスの静的インスタンスです。これは、クラスレベルのメソッド(静的クラスメソッドに似たもの)を呼び出すために提供されています。
たとえば、次のようにする$model=CActiveRecord::model('Project');
と、それを使用して$model
、CActiveRecordのすべてのクラスレベルのメソッドを呼び出すことができます。
$allModels = $model->findAll(); // will give you all the models of Project
$someModel = $model->findByPk('pkValue'); // will give you the row with primary key value = pkValue
$model->deleteAll(); // will delete all the records of Project
// and so on
編集:
また、フォーラムのこの投稿には次のように書かれています:(クラスレベルと静的メソッドの違い)
クラスレベルのメソッドは事実上静的メソッドですが、継承を使用できるという利点があります。つまり、サブクラスのクラスレベルメソッドの操作をオーバーライドできますが、静的メソッドを使用した場合はオーバーライドできません。....したがって、一般的には、静的メソッドではなく、クラスレベルのメソッドを使用する必要があります。これは、少し奇妙に感じるかもしれませんが、継承の利点を提供するためです。次に、$ class :: model()-> method()を使用してそれらを呼び出します。