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からFPDFなどを使ってPDFを出力するプログラムを書いたんですが、下記のエラーでかなり悩まされました。 FPDF error: Some data has already been outpu …

no image

mysqlデータのCSV出力

ガチンコ塾のブログでもかいたのですが、行動力が大切だなーと思う今日この頃。 社長が熟練のJavaエンジニアで基本的に聞けば、基本的に解決することが多いのですが、外部の勉強会などにも出て情報収集の必要性 …

no image

call_user_funcについて

call_user_funcについて。 call_user_funcはメソッドを動的に呼ぶことができるメソッドの1つで、コールバック関数を使いたいときに使われます。JavaScriptでは比較的多いと …

no image

CakePHPでのプレフィックスルーティング

cakePHPではルーティングがデフォルトでは/コントローラ名/アクション名となります。 ところが管理画面などはadmin/コントローラー名/アクション名などと変則的なURLにしたいことも多いでしょう …

no image

MySQLでtext型が大量にあるもののリストア 

MySQLでのリストアについて。 先日実務でtext型のカラムが複数あるテーブルを読もうとしたら下記エラーがでてこけました。

なにやら …