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

phpのライブラリ(mcrypt)インストール

先日、ローカルで開発していたPHPをサーバーにアップして、composerでライブラリをアップデートしようとしたところ、 "The mcrypt extension is missing. Please check your PHP configuration." なるエラー …

no image

MySQL小ネタ テーブル単位のリストア・SQLの小ネタ(バックスラッシュの検索)

MySQLのちょい小ネタ。 Contents1 テーブル単位でバックアップ&リストア2 バックスラッシュの入ったSQLについて テーブル単位でバックアップ&リストア 1 通常のdump(データベース単 …

no image

phpQueryを使ったスクレイピングに関して

以前、スクレイピングに関してはこのエントリーでも紹介したとおり、phpに標準で入っているDOMDocumentを使う方法が一番楽です。 ところがデータによってはXMLで解析するため目的とする要素を取得 …

no image

SQL 更新系に関して

SQL実践入門、残り2章になりましたが、いやーむずいっす。 今回は9章を進めていますがSQLはもともと検索を主な用途として発展したため、SELECT文の使用がメインになります。 ですが、UPDATE文 …

no image

Laravelのサービスプロバイダ

ミドルウェアやルーティング同様、惰性で使っていたサービスプロバイダについてめも。 Contents1 サービスプロバイダとは2 参考リンク・参考文献 サービスプロバイダとは Laravelでは特定のサ …