test

CakePHP Note

Read(一覧)

UPDATE:2008.04.09

モデルのfindメソッドで複数レコードのデータを読み出し、読み出したデータをコントローラのsetメソッドでビューにデータを渡します。

class PostsController extends AppController {
    var $name = 'Posts';//コントローラ名、PHP4用

    function index() {
        $this->Post->recursive = 0;
        $this->set('posts', $this->Post->find('all'));
    }
}

この例ではコントローラでどのモデルを使用するか記述が省略されていますが、$this->Postでモデルにアクセスする事が出来ています。'Posts'というコントローラでは命名規則にしたがって'Post'というモデルがデフォルトのモデルとして使用出来ます。


複数ページ表示に対応したpaginateメソッドでデータを読み出す方が便利です。

class PostsController extends AppController {
    var $name = 'Posts';//コントローラ名、PHP4用

    function index() {
        $this->Post->recursive = 0;
        $this->set('posts', $this->paginate());
    }
}

この例ではpaginateメソッドでモデルの指定が省略されてるので、デフォルトのモデルを通じてデータを読み出します。デフォルトのモデルとは命名規則にしたがってコントローラ名(PHP4)またはクラス名(PHP5)から決定されます。paginateメソッドについてはページネーションのページをご覧下さい。命名規則についてのページもあります。