スポンサーリンク

CakePHP3のORMで,生のSQLを実行したり変数値をバインドする方法のテンプレート

毎回コピペが面倒なのでここにまとめます。 変数値のバインドをしない場合 execute( $sql )->fetchAll('assoc'); ?> 変数値をバインドする場合 SQL内で不明の値は「?」と書く。

CakePHP3のORMで,トランザクションとコミット・ロールバックの書き方のテンプレート

DBへの更新処理をひとまとめにして, エラー発生時に全体を更新前の状態に戻すために トランザクションが必要。 PHPコード begin(); try { // ロールバックのテスト //throw new \Exception("ロールバックのテスト"); // 更新処理 // ~ // コミット $connec…

CakePHP3のORMで,テーブルをJOINするPHPコード(SQLを書かずにLEFT JOIN)

CakePHPのORMでJOIN。CakePHPのバージョンは3.7.9で,CentOSのVPS上で使っている。 PHPコード Hogeモデルでfindする際に,Fugaモデルの情報をくっつけたい場合。 find() // fugaをhogeにJOINする ->join([ "table" => "fugas", "alias" => "f", "type" => "L…

PHPで日付(DateTime)の加減演算や,文字列フォーマット操作関連のよく使うサンプルコード覚書

そのつど調べるのが面倒なので記録しておこうと思う。 今日の日付を文字列として出力する 日付オブジェクトをフォーマットする ある日付文字列の,前後の日付を文字列として出力する ある日付オブジェクトの,前後の日付を文字列として出力する ある日付の曜…

MySQLで,連続した番号や日付を出力する。PostgreSQLのgenerate_series関数と同じことを実現

MySQLで, 連続した番号のリストや 連続した日付の一覧を出力するようなSQL。 連続した番号を出力する 連続した日付を出力する 今日までの30日間の日付を取得したい場合 参考資料 連続した番号を出力する SELECT 0 AS generate_series FROM -- MySQL組み込み…

Linux/CentOS7上で,phpMyAdminをインストールする手順。yumのエラーの対処法

AWS上のLinux/CentOS7で,phpMyAdminをインストールする手順。。 yumからインストールの場合 ファイルからダウンロードの場合 Apacheの設定をする (IPアドレスのアクセス制限など) コンフィグファイルの設定編集 参考資料 CentOS7上で実行することを確認: $…

PHPでGmailからメール送信する簡単なサンプルコード。PHPMailerでSMTP+TLS認証して日本語のメール本文を

PHPで簡単にメール送信するサンプルコードと,ライブラリのダウンロードの手順。Composerは不要なので,レンタルサーバーでも楽に設置できる。 PHPMailerのダウンロード 下記ページにアクセスする。 PHPMailer/PHPMailer https://github.com/PHPMailer/PHPMa…

CakePHPで,DBの日時タイムスタンプを,曜日と秒まで表示させる

Cakeで日時カラムから値を持ってくると,秒まで表示させるのが意外と面倒。DB内には秒まで格納されているのに,簡単に画面上に表示させる方法がない。下記はヘルパーメソッドの例: // UTCのdatetimeを受け取り,日本時間で秒まで返す。 function getJstStri…

CakePHPで,規約に従わない命名法のDBは,Scaffoldが動くことを期待するな

CakePHPの命名規約に従っていない既存DBに対して,CakeのScaffoldを動作させようとした時の苦労について。 Scaffoldは,DBの命名法が規則に従っていることを要求する いや~,焦ったわ。email_idというカラムがあって,これがEmailというモデルを強制的に参…

AWS(CentOS7)でCakePHP3.6の環境構築時,Composerのハマり所の対処法

AWS (Amazon EC2)上で,LinuxサーバにCakePHP3.6をセットアップして動かす。ハマるツボは,プロジェクトを作成するときのComposerの動作。 Apache(httpd)をインストール済み PHPをインストール済み(phpinfo()が動く) ComposerでCakePHPプロジェクトを…

Python製のTracより,Rails製の「Redmine」のほうがプロジェクト管理しやすい。Git対応で複数プロジェクトを管理可能

ソフトウェア開発の際のBTS/ITSとして, Tracよりも「Redmine」を使うほうがよい件について。 TracもRedmineも,Web上でメンバの開発タスクを管理するツールだ。 記者の眼 - RedmineやTracで勘違いや書類探しの手間をなくそう:ITpro http://itpro.nikkeibp.…