CakePHPでアプリケーションの設定をデータベースに保存する

CakePHPで制作中のアプリケーションで設定をデータベースに保存する処理を書いていたのですが、「"アプリケーションの設定の保存方法" フォーラム - CakePHP Users in Japan」経由で簡単な方法があることを知りました。

なるべくCakePHPのコーディング規約に従うように制作していたのですっかり忘れていましたが、モデルクラスのprimaryKeyプロパティを使って、設定名を保存するフィールドをプライマリーキーに設定すれば良いだけでした。

CakePHPでは、データを保存する際にプライマリーキーとなるフィールドの値が存在しない場合、そのデータは新規のレコードとして追加されます。設定を変更するページに自分以外がアクセスする可能性がある場合には、モデルのバリデーションなどでnameフィールドの値をチェックするようにしておく必要がありそうです。

/app/models/config.php
class Config extends AppModel 
{
    var $name = 'Config';
    var $primaryKey = 'name';  // 設定名が入るフィードをプライマリキーに設定
    var $validate = array('name' => '/^site_name|site_desc$/');  // 設定名をバリデーションのルールとして設定



    
}

コメント (0)

この記事へのコメントはまだありません。

コメントフォーム

トラックバック (0)

この記事へのトラックバックはまだありません。

この記事のトラックバックURI
http://dxd8.com/archives/11/trackback/
この記事のURI
http://dxd8.com/archives/11/