CakePHPは、PHPの開発でよく使う機能や方法論をフレームワークという形であらかじめ用意してくれていますので、1からPHPでコードを書く必要が無いことが多いです。
データベースへのアクセスは通常はSQLを使いますが、CakePHPを使うとSQLを使わなくてもデータベースの参照や更新ができてしまいます。
僕がとりわけ感動したのは、リレーションの関係になっている2つのテーブルの更新にも対応していることです。
正しく配列に値を入れておけば、その配列を渡すだけで2つのテーブルの更新を同時に行なってくれます。
たとえばこんな2つのテーブルがあって、1:nの関係があるとします。
これらのテーブルに値を入れるには、テーブルを模した以下のような構造の配列(arrayAとします)を作って、saveAll関数に渡すだけです。
[php]
Array
(
[Crawlkeyword] => Array
(
[user_id] => 18
[keywordlist_id] => 23
[Callnum] => 4
[Rallnum] => 8
)
[Crawldomain] => Array
(
[0] => Array
(
[domainlist_id] => 201
[Cpos] => 0
[Rpos] => 7
)
[1] => Array
(
[domainlist_id] => 202
[Cpos] => 0
[Rpos] => 0
)
・・・
[/php]
saveAll関数でデータベースにInsertできます。もし既に同じデータがテーブルに存在する場合はInsertではなくUpdateしてくれます。
[php]
$this->Crawlkeyword->saveAll($arrayA);
[/php]
書かないといけないコードは実はこれらだけではなくて、データベースコネクトのための設定や、モデルとよばれるクラスの実装など、考慮しないといけない点はいくつかありますが、それらの下準備をしておきさえすれば、実際のDBアクセスは驚くほど簡潔です。
CakePHPによるデータベースのアクセス方法は、このページを大いに参考にさせてもらいました。
分かりやすいのでおすすめです。
【libro】 初心者のためのCakePHPプログラミング入門
http://libro99.appspot.com/index2?id=8002
過去のエントリ
【連載】Webサービス制作日記#08 グラフ描画ツールを使う
【連載】Webサービス制作日記#07 cronでスケジュール実行
【連載】Webサービス制作日記#06 jQueryでAjaxする
【連載】Webサービス制作日記#05 HTMLパーサを使う
【連載】Webサービス制作日記#04 データベースを使う
【連載】Webサービス制作日記#03 プラットフォームを決める
【連載】Webサービス制作日記#02 要件を決める
【連載】Webサービス制作日記#01 何を作ろうとしているか