cake sql系+リレーション+ヘルパー

    最終更新日:2016/03/18

先月末に引き続いてcakeネタをもりっといきます。

といっても自分用の小ネタリンク集です。

sql系の小ネタ

findとread

cakeでsqlを使うときは基本findを使うのがいいようですね。

readというメソッドもあるんですが、なにやらfindのほうが安全のようですね。以下、公式のドキュメントのコピペです。

read はモデルに保持されている dataid の値を上書きするので、 このメソッドを使う時は気をつけてください。特に beforeValidatebeforeSave などの モデルのコールバック関数で使う場合などは注意が必要です。 一般的に find の方が read よりも簡単でより安全にデータを取得することができます。

find(‘count’)の注意点

第二引数でfieldsを書いているとfalseが帰ってきて、うまく取得できません。countを取得するときはfieldsは無しで。
http://www.t-webu.net/cakephp/cakephp%E3%81%AEfindcount%E3%81%AE%E6%B3%A8%E6%84%8F%E7%82%B9.html

findのcondition

10月中のレコードを取得したいなどbetween系

かなりきれいな書き方

http://liginc.co.jp/programmer/archives/235

どちらかというと力づくかな?
http://alpyaca-creates.lv9.org/%E6%97%A5%E4%BB%98%E3%81%AE%E6%9C%9F%E9%96%93%E3%82%92%E6%8C%87%E5%AE%9A%E3%81%97%E3%81%A6find%E3%81%99%E3%82%8B/?ckattempt=1

MySQLでの時間の引き算(勤務時間の算出などに便利)

http://d.hatena.ne.jp/moroto1122/20090131/1233366529

where in など

これはかなりシンプルでいいですね・・・

http://weble.org/2011/07/21/cakephp-find-in

orの書き方

http://monmon.hateblo.jp/entry/20110207/1297068346

like検索

http://otukutun.hatenablog.com/entry/2011/12/10/151243

生sqlの書き方

http://cakephp.popotoo.com/db/56/

リレーションに関して

http://blog.ecworks.jp/archives/268

ここらへんは理解以上にいろんな例を見て、理解する必要あり。

ガチンコ塾でもcakeをやる予定はあるので、受講生に指導できるようにいろいろと工夫しないといけないですね。

独自のhelper

htmlで使うhelperですが、独自に作ることができます。

http://okisanjp.com/archives/683

http://www.kaasan.info/archives/3110

  • このエントリーをはてなブックマークに追加
  • Pocket

この記事へのコメントはこちら

メールアドレスは公開されませんのでご安心ください。
また、* が付いている欄は必須項目となりますので、必ずご記入をお願いします。

内容に問題なければ、下記の「コメント送信」ボタンを押してください。