CakePHP は基本的に SQL を直接書くことなくデータを取り扱いできますが、複雑な条件の絞り込み検索などは、簡単にいかないこともあります。 今回は嵌ったのは、hasAndBelongsToMany で関連づけられた Photos と Tags のテーブルがあり、特定のタグ名を持つ写真を検索するという場合。SQLなら簡単に書けるケースでも CakePHP だと戸惑ってしまいます。 例えば Photo と Tag という二つの Model を hasAndBelongsToMany (HABTMと略される)で結びつけます。このとき関係テーブルに対応する PhotosTag というモデルがあります。 この結びつきのままで conditions に Tag.Name => 'hoge' などと書いてもうまくいきません。 結局、hasAndBelongsToMany (HABTM) The C
This document is for a version of CakePHP that is no longer supported. Please upgrade to a newer release! Shells, Tasks & Console Tools¶ CakePHP features not only a web framework but also a console framework for creating console applications. Console applications are ideal for handling a variety of background tasks such as maintenance, and completing work outside of the request-response cycle. Cak
cakePHP1.2rc2の環境をベースにしてます。 DBを絡めたバッチ処理とか、cake使うと簡単にできます。 cakeである程度WEB画面まで実装してれば、modelファイルとかもあるだろうから、コントローラーっぽいプログラムを実装するだけ。 基本は、app/vendors/shells/以下にプログラムを設置するだけです。 下記は、app/vendors/shells/hoge_test.phpの例です。モデルはhogeモデルを利用。hogeモデルはapp/models/hoge.phpで実装。 <?php class HogeTestShell extends Shell { var $uses = array('Hoge'); function main() { $filename = $this->args[0]; $insert_data = array("hoge1" =>
データベース設計の話をしていて、「連番の主キーは業務上意味のないデータだから、テーブルに持たせるのはムダだ。複合主キーにするべき」という意見を聞く機会がありました。 脊髄反射で「ないわー」と思ったものの、理由を上手く説明できなかったので、改めて考えてみました。 その結果、次のような結論に至りました。 単一の連番カラムによる主キーと、複合カラムによる主キーとで迷ったら 実装をシンプルにし、業務変更の影響範囲を小さくするために、複合主キーを避ける というわけで、調べたことや考えたことをメモしておきます。# 間違っている部分があれば、教えていただけると嬉しいです。 (2011/07/25 追記)複合主キーとサロゲートキーについては、要件やシステムに依存して多様な判断がありうると思います。にもかかわらず、「避けるべき」というタイトルにしたのは極端でした。申し訳ありません。ご指摘下さった皆さん、あり
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く