.ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録

.検索

.メインメニュー

.フォーラムメニュー

.オンライン状況
13 人のユーザが現在オンラインです。 (12 人のユーザが フォーラム を参照しています。)

登録ユーザ: 0
ゲスト: 13

もっと...

.
.リンク集

メイン
   CakePHP モデル(Model)
     1.2のModel::find()を簡単に拡張
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
news
投稿日時: 2008-6-21 23:29
Cake 職人
登録日: 2007-4-4
居住地:
投稿: 1277
1.2のModel::find()を簡単に拡張
Model::find() を簡単に拡張するアイデアが公開されています。
CakePHPのコアを開発しているだけあって、やはり勉強になります。

Debuggable Ltd.
How to bend Cake's Model::find() method to your needs
http://www.debuggable.com/posts/implementing-different-types-for-cake%27s-model::find()-method:485030de-4778-456e-8400-44d84834cda3

考え方としては、$typeに独自のtypeを定義し、それ以外のものは、parent::find($type, $queryData) に送ってしまう、というものです。


<?php
function find($type$queryData = array()) {
    switch (
$type) {
      case 
'pending':
        return 
$this->find('all', array(
          
'fields' => array('User.email''User.first_name''User.last_name''Comment.name')
          , 
'conditions' => array(
            
'Comment.active' => 0
            
'Comment.blocked' => 0
          
)
          , 
'contain' => array('User')
        ));
      default:
        return 
parent::find($type$queryData);
    }
  }
?>


news
投稿日時: 2008-6-27 9:08
Cake 職人
登録日: 2007-4-4
居住地:
投稿: 1277
Re: 1.2のModel::find()を簡単に拡張
日本語記事

blog.katsuma.tv
CakePHPでランダムにレコードを取得する独自findメソッド
http://blog.katsuma.tv/2008/06/cakephp_find_random.html

「最初はこの流れはちょっと面倒くさいなぁとも思ったのですが、実際は自分の都合のいいようなタイプをどんどん追加しやすくなっているので、この仕掛けはうまく使えばすごく便利。」
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 


. .