カテゴリー
コンピューター

CakePHP2 のアソシエーション!モデルを連携させて複数テーブルからデータを取得する勉強します!

CakePHP のバリデーションの基本を勉強します。 | oki2a24 の次の投稿となります。

以前ひとつのテーブルからのデータ取得を行いました。それも、モデルなしで。今回はモデルをしっかり使って、そしてテーブルは複数を連携させて、という例となります。2つのテーブルを使用しますが、連携のさせ方を網羅させて、しらみつぶしに動きを調べようと思います。

今回は、hasAndBelongsToMany を除いた hasOne、belongTo、hasMany の3パターンを取り扱います。

ポイント

  • モデルに連携したい相手のモデルを書く。書き方は、hasOne、belongTo、hasMany、hasAndBelongsToMany の4種類ある。
  • hasOne 1:1。相手テーブルに自テーブルの id 値を設定します。例、users テーブルの1つの行は、profiles テーブルの1つの行を持っている。
  • belongTo n:1。自テーブルに相手テーブルの id 値を設定します。例、users テーブルの1行は、recipes テーブルの多くの行を持つことができる。
  • hasMany 1:n。相手テーブルに自テーブルの id 値を設定します。例、recipes テーブルの多くの行は、users テーブルの1つの行に所属している。
  • belongTo と hasMany はどちらも1つに対して複数の対応ですが、1:n ( hasMany )の場合は1つの行に対して複数の行が紐づいた状態でデータを取得できます。一方、n:1 ( belongTo ) の場合は1つの行に対して1つの行が紐づいた状態でデータを取得できます。
  • モデルの連携は適当では駄目です。エラーとなります。または、変なデータが取れると思います。
カテゴリー
コンピューター

CakePHP2 のバリデーションの基本を勉強します。

CakePHP の FormHelper::input の使い方とバリデーションとの関係を勉強します♪ | oki2a24 の続きの投稿となります。

バリデーション、つまり入力チェックの基本を勉強します。

ポイント

  • モデルにバリデーション情報を書きます。
  • 書き方。
    public $validate = array(
    フィールド名。つまり DB のカラム名‘ => array(
    ‘rule’ => ‘notEmpty とかルールを記入‘,
    ‘message’ => ‘エラーメッセージ
    ),
    );
カテゴリー
コンピューター

CakePHP2 の FormHelper::input の使い方とバリデーションとの関係を勉強します♪

CakePHP。モデル未使用でデータベースデータ操作の基本を学習します♪ | oki2a24 の次の投稿となります。

バリデーションを設定したのに、メッセージが表示されません!本を読んでも、「表示されるはず!」と明記されています。アイエエ!ナンデ!?調べました。

ポイント

  • ビューで $this->Form->input() を使えばバリデーションのエラーメッセージを表示できる。
  •  ビューで $this->Form->text や $this->Form->text を使っても、バリデーションのエラーメッセージは表示されない。
  • $this->Form->error() でエラーメッセージを表示できる。みたいですけれど、どうにもまだうまくいきません><。

以下、FormHelper::input の詳細です。

カテゴリー
WordPress

Jetpack プラグインをアップデートしたら、WordPress が真っ白になりました!Sharekoube が原因!ナムアミダブツ!

アイエエエ!?真っ白ナンデ!?昨日の午後から自分のサイトにアクセスしようとしてもサーバーエラーとなってまったく反応してくれません。復活するまでの足跡をメモします。

その前に、覚えておきたい心得

  • おかしくなった直前の操作に注目すること!

なぜこのようなことをあえて書くかといいますと、自分のブログにアクセスできなくなってからまずやったことが、Apache、MySQL、サーバの再起動だったからです。ぜんぜん見当違いでした。

WordPress が真っ白となった原因

WordPress › Sharekoube « WordPress Plugins のバージョン0.8と、WordPress › Jetpack by WordPress.com « WordPress Plugins のバージョン1.6.1の相性が悪かった。

カテゴリー
コンピューター

CakePHP2。モデル未使用でデータベースデータ操作の基本を学習します♪

CakePHP の scaffold 応用編を通して使いどころを少しだけ考えます! | oki2a24 の次の投稿となります。

コントローラーとビューを使ってテーブルデータ操作の基本を学習します。モデルの作成は行いません。

ポイント

  • DB データの登録、検索や削除などの操作は、コントローラーから行なう。モデル、ではない。
  • $this->モデル名->関数、で操作する。DB にテーブルがあれば、モデルはなくても大丈夫です。
  • 検索の find 関数の第1引数による動きまとめ
    • find(‘all’); 全レコードを得ます。
    • find(‘first’); 最初の1レコードを得ます。
    • find(‘list’); レコードのリストを得ます。
    • find(‘count’); レコード数を得ます。
  • find 関数で得られる結果の構造は第1引数のタイプによりそれぞれ異なります。
  • find 関数第2引数の conditions で検索条件を指定できます。
  • 削除。delete(削除する行の id )
  • 挿入または更新。save(保存するデータ)
カテゴリー

特 上 生 寿 司 625円

P7131561.JPG

半額で、6 2 5 円ですよ!!!!!

カテゴリー
コンピューター

CakePHP2 の scaffold 応用編を通して使いどころを少しだけ考えます!

CakePHP の scaffold を体験します♪ | oki2a24 の次の投稿となります。

scaffold を上書きして捨てていく開発、scaffold を使用して見た目だけ変える開発ができるようなので、見てみます。

ポイント

  • scaffold のレイアウトを修正するには、cake/sample/lib/Cake/View/Scaffolds/ フォルダのテンプレートをコピーして、cake/sample/app/View/Scaffolds/ フォルダに入れて、これを修正します。
  • scaffold のアクション、index、add、edit、view、delete、はオーバーライドできます。
    ※継承した子クラスで親クラスのメソッド、プロパティを上書きすることです。