skillup

技術ブログ

Database PHP

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

投稿日:

先月末に引き続いて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

-Database, PHP
-,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

PHPでのPDF出力 基本&日本語出力

今回はPHPでのPDFファイルの出力です。 Contents1 ライブラリ2 ソース3 参考リンク ライブラリ 使うライブラリはFPDFというライブラリです。 http://www.fpdf.org/ …

no image

MySQLのメモリ設定

実務で結構サーバーをヘビーに使われるお客さんがいて、SQLが遅くなったりとしています。 なんとか対策しないといけないので、いろいろと調査をいます。 それで今回はMySQLのメモリ問題など。 MySQL …

no image

MySQLのセキュアな設定

以前SSHの設定についていろいろ書いたんで今回はMySQLに関して。 Contents1 基本的な処方箋(MySQLに限らないかも)2 ホストのアクセスを制限する3 LOCAL INFILEコマンドを …

no image

CASE+HAVING句

今回はCASEとHAVINGを組み合わせて、そこそこの難問を解いていきます。 まず下記のようなテーブル(testresults)があるとします。 student | class | sex | sco …

no image

MySQLのユーザー変更+information_schema.columns

MySQLで行うユーザーの作成について

これですが、一つのデータベースに対して行うとhost内のユーザーすべてが切り替わってしまいます …