あっ、普通の update というのは、WHERE 区に自由な条件をつける、という意味です。今回、CakePHP2 にて次のことをやってみたのでメモします。
- 好きな条件でテーブルを更新する。
- あるカラムの値をインクリメントしたい。
- updateAll だと modifiedを自動で更新してくれないのをなんとかする。
あっ、普通の update というのは、WHERE 区に自由な条件をつける、という意味です。今回、CakePHP2 にて次のことをやってみたのでメモします。
CakePHP の開発でも調べものでも楽できるところは楽したい!と思っています。そこで、楽の仕方を考えます。へたをすると、余計な手間やはまりどころにもなりかねませんしね♪
Linux で bake しても、SJIS になるとは、ちょっと意外でした。ちなみに、CentOS の文字コードは UTF-8 に設定されていました。
[root@oki2a24 oki2a24.com]# printenv | grep LANG LANG=ja_JP.UTF-8
一発で解決!できなかった、面白みのない結論ですけれども、これがよさそうです。
再び勉強してみましたの♪今度は bake を使用してもっと楽にサンプルを作成することができましたわ♪
ログインしないとページにアクセスできないようにする、認証機能を勉強します。同時に、認証が不要なページを設ける方法も確かめます。できるだけシンプルな構造でいきます!
では、次のような認証前後でアクセスできるできないページ、を作成してみます。ログイン用のユーザは、1人だけ作ります。
URL はこんな感じです。
今回のサンプルを動かすと、ログイン前後でどのページにアクセスできて、どのページにアクセスできないのかをまとめた表です。
ページ | ログイン前にアクセスできる | ログイン後にアクセスできる |
---|---|---|
apples | × | ○ |
beets | × | ○ |
cherries | ○ | ○ |
CakePHP2 を勉強してきて、1つのテーブルにデータを入れるには Model::save を使えばよいし、やってみた記録を残してくださっている方々のページも見つかって心強いのです。
けれどもじゃあ、表示したページのフォームにいろいろデータを入力して、登録!とかクリックしまして処理を走らせたときに、2つのテーブルに1度に綺麗にスマートにデータベースに Insert する方法は、意外と見つかりません。
ですので、やってみました。記録を残します。
アイエエエ!?真っ白ナンデ!?昨日の午後から自分のサイトにアクセスしようとしてもサーバーエラーとなってまったく反応してくれません。復活するまでの足跡をメモします。
なぜこのようなことをあえて書くかといいますと、自分のブログにアクセスできなくなってからまずやったことが、Apache、MySQL、サーバの再起動だったからです。ぜんぜん見当違いでした。
WordPress › Sharekoube « WordPress Plugins のバージョン0.8と、WordPress › Jetpack by WordPress.com « WordPress Plugins のバージョン1.6.1の相性が悪かった。
CakePHP の FormHelper::label 関数の使い方を学びます! | oki2a24 の次の投稿です。
scaffold、スキャフォルドについてです。
変わった単語なので辞書で調べました。「足場」「作業台」「絞首台」。3つ目。。。ま、まあ、それはともかく、コントローラーにスキャフォルドの設定を1行だけ行なえば、ビューはもちろん、モデルすら用意する必要なく、データベースを管理するためのちょっとしたシステムを自動的に作れるという優れものなのだそうです。
では、やってみましょう。
CakePHP の MySQL 設定を行います♪ | oki2a24 の続きとなります。
CakePHP でデータベースからデータをひっぱって来る勉強をします。シンプルに!なのでモデルは使いません!
CakePHP Form ヘルパーによるフォーム生成を勉強します♪ | oki2a24 の続きになります。
CakePHP の設定を行う前に、DB を作っておく必要があります。たとえばこんな感じにしました。
cake/sample/app/Config/database.php を、database.php.default をコピーしてリネームして、作成します。login(ユーザー名)、password、database、を設定し、encoding がコメントとなっているのを外しました。
public $default = array( 'datasource' => 'Database/Mysql', 'persistent' => false, 'host' => 'localhost', 'login' => 'cakebords', 'password' => 'cakebords', 'database' => 'cakebords', 'prefix' => '', 'encoding' => 'utf8', );
保存したら、ウェブアプリケーションのホームページにアクセスします。
Pleiades All in One のおかけで、ローカル環境に、Eclipse + XAMPP を簡単に作ることができました。今回は、そこに EC-CUBE を入れていきます!
Apach 、MySAQL 、PHP を Windows 環境でも開発できるように簡☆単さを重視して Eclipse の Pleiades All in One PHP をインストールします。 | oki2a24の続きのお話となります。
では実際にやっていきます。