skillup

技術ブログ

Database PHP

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

投稿日:2015年11月2日 更新日:

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

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

sql系の小ネタ

findとread

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

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

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

find(‘count’)の注意点

第二引数でfieldsを書いているとfalseが帰ってきて、うまく取得できません。countを取得するときはfieldsは無しで。
CakePHPのfind(‘count’)の注意点

findのcondition

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

かなりきれいな書き方

CakePHPでMySQLのBETWEENを使う

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

時間の差と集計

where in など

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

CakePHP の find で in 演算子を使う方法

orの書き方

findで複数のORを使う場合はarrayで囲む

like検索

CakePHPであいまい検索を行う方法

生sqlの書き方

【CakePHP】直接SQL(クエリ)を実行する

リレーションに関して

【CakePHP】アソシエーションで迷ったらこう考えよう

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

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

独自のhelper

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

CakePHP2 生まれて初めてHelper作ってみる

-Database, PHP
-,

執筆者:


comment

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

関連記事

no image

LaravelでのAPI実装

Laravelで外部からAPI叩いてデータ入力みたいなことをしたかったのでこれを機に勉強。認証とかを通してないのでそのまま公開すると危険です・・(汗) 参考リンク [PHP] Laravel5.6で、 …

no image

PHPのオートローディング

大規模開発では扱うファイルが増えるため、必要なクラスの読み込みが煩雑になるケースが多いです。 Contents1 従来のPHPのファイルのロード2 オートローディングとは3 サンプルソース4 メモ5 …

no image

正規化のデメリット

Contents1 正規化のデメリット2 本日のSQL 正規化のデメリット 正規化についていろいろ書いてきましたが、メリットもあればデメリットもあります。 メリットとしては データの不整合が起きにくい …

no image

複数GROUP BYでの注意

GROUP BYしたときに件数が増えるという現象があったので一応メモ。というか当たり前のことですが・・・ たとえば以下のようなテーブルがあったとします。 student id student_name …

no image

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

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

アーカイブ