tableのprefixを動的に変更する。このエントリをはてなブックマークに追加

10 月 21, 2008

mysqlのmergeテーブルが使いたくて、半動的にsaveするときは、mergeしていないテーブルを読んで、findのときはmergeテーブル読むようにできなきかなーなんて思ってたんだけども、なんとかできた。

app_model.phpで、たとえばこんな感じ。

<?php
class AppModel extends Model {
    function save($tablePrefix, $data = null, $validate = true, $fieldList = array()) {
         $this->tablePrefix = $tablePrefix;
         $result = parent::save($data, $validate, $fieldList);
         return $result;
    }
}
?>

手元に環境がないので、未確認ですが、save関数にひとつ引数加えて、保存するときにtableのPrefixを指定するという方法です。
まーあまり格好よくはないけど、なんかで使えるんじゃないかなぁ。とか思ったり。

手元の環境ができ次第、mergeテーブルと合わせた方法を紹介したいと思います。

Categories: cakephp
Tags:

コメントはまだありません »

このコメント欄の RSS フィードトラックバック URL

コメントはまだありません。

コメントをどうぞ