[CakePHP2.x]Mysqlのviewtableをschemaで作ると・・・

テーブルをgroup by でカウントしたいのだが、cakeの機能だけではあまりスマートにできない。
なので、mysqlのview tableを使うことにしました。

view tableはsql文の結果をあたかも普通のテーブルのように定義してくれる便利な機能。Cakeからはただの普通のテーブルと同じように扱えるので、モデルを作ればそのままアクセスできます。(当然ながら保存はできませんが)

で、DBはschema機能で作っているので、 cake schema generate でschema.phpを作ってそれをテスト環境でcake schema create してみたところ・・・。

ああああ!view tableじゃなく普通のテーブルになってる orz

いろいろ調べてみたのですが、どうも対応していないっぽいです。
まぁ、ほかのDBエンジンでは実装されていないものもあるかと思いますので、仕方がないかもしれません。

どうしても使いたいということであれば、
別途view tableだけの生成SQL文を用意して、cake schema create した後に、それを適用させるぐらいしかなさそうです。
なお、一度作ってしまえばcake schema updateでは影響はないようです。(view tableのカラムに変更がなければですが)

タイトルとURLをコピーしました