2016-06-29 3 views
1

私はYiiを初めて熟知していますので、あまりよく分かりませんが、Postが私のModelクラスの名前だと分かります。なぜこの "Post :: model()"をYiiで使用しますか?

次のコードは、この方法は、お使いのモデルで書かれているこの$models = Post::model()->findAll($criteria);

+0

modelという名前の関数/メソッドでPostという名前のクラスへの静的呼び出しをphpで行います。その '$ Post-> model()'のようなものですが、クラスのインスタンス(obj)変数はありません。 – ArtisticPhoenix

+0

私はmodel()という名前のメソッドをどこにも持っていません。 – coach

+0

'coach :: model()'メソッドはありませんか?笑。私は 'Post'クラスに賭けたいと思います。 PHP 101 http://www.brainbell.com/tutorials/php/Static_Methods.html Yiiと何の関係もなく、そのメソッドを持っているか、 '__callStatic()'があります。http://php.net/manual/en/ language.oop5.magic.php – ArtisticPhoenix

答えて

1

あなたはクラスのポストはCActiveRecordクラスであり、このクラスで指定されたARクラスの静的モデルを返し

モデル法

http://www.yiiframework.com/doc/api/1.1/CActiveRecord http://www.yiiframework.com/doc/api/1.1/CActiveRecord#model-detail

model() Returns the static model of the specified AR class. CActiveRecord 
があります。返されるモデルは、ARクラスの静的インスタンスです。クラスレベルメソッド(静的クラスメソッドに似たもの)を呼び出すために用意されています。

1

斐伊川が含まれています。あなたの場合、それはポストモデルであり、フレームワークフォルダの下のyiilite.phpファイルに書かれた以上のことを知りたければ。詳細情報については

静的モデルは、(モデルによって返されたこの

http://www.yiiframew...rd#model-detail

を読んで)クラスについてのDBスキーマのメタデータが含まれています。 find()やfindAll()のような関数を呼び出すときは、静的モデルを得るためにmodel()を呼び出す必要があります。

+0

ありがとう!!!!!!!!!!!!!! – coach

関連する問題