【CakePHP2.X】トランザクションを実行する。

トランザクションとは

例えばSQLが複数回発行される場面で、それらが全て成功したか、全て失敗したかのどちらかを保証してくれるシステム。

使ってみる

トランザクションを実行するためにはテーブルの種類がトランザクションをサポートしている必要があるので注意。

まずはモデル内でデータソースオブジェクトを取得する。

後はこんな感じで使う。

トランザクションをネスト化さたりも出来るみたいなので詳しくは公式を参照されたし。

http://book.cakephp.org/2.0/ja/models/transactions.html

【AngularJS】「WARNING Tried to Load Angular More Than Once」エラー。

ui-router利用時、WARNING: Tried to Load Angular More Than Onceというエラーが出てビューの表示がなんだかおかしくなった。

これは指定しているルーティングに対するテンプレートが存在しないため再帰的にデフォルトルーティングを読みに行ってしまっているために発生するエラーで、しっかりと対応するビューファイルを用意してやったら治った。

【AngularJS】$cookieStoreでcookieを扱う。

$cookieStoreとは

  • angularでcookieを扱うためのサービス。

Angular標準のngCookiesモジュールを読み込むことで利用可能。
単純にキーとバリューの保存庫のような感じなので使い方はめちゃくちゃ簡単。

使い方

  • 利用したいモジュールに$cookieStoreを注入する。

値を取得する。

値を保存する。

値を削除する。

【Javascript】でUUIDを発行する。

便利な関数をStackさんで見つけたのでペタリ。

使い方はこう。

http://stackoverflow.com/questions/105034/create-guid-uuid-in-javascript

【MySQL】group_concatした結果が文字化けしたりBLOBと言った形で表示されてしまう場合。

主にPHPMyAdminでの話。

group_concatの部分をこうしてやればいい。

【MySQL】Groupしたカラムを条件に指定する。

group by句でグルーピングしたレコードに対して条件を指定したい場合はwhereではなくhavingを用いる。

例)

と言った感じ。

【Markdown】バッククオートを含むインラインコードを記述する方法。

インラインコードにバッククオート`を含めたい場合、最も長く連続するバッククオートよりも多く連続したバッククオートで出力したいバッククオートを囲めばいい。

なので一つのバッククオートを出力したければこうする。

二つのバッククオートを出力したければこうする。

【Markdown】Windows用のMarkdownエディタ。

これがオススメ。

リアルタイムの解析精度も高くて動作も軽い。

http://markdownpad.com/

気に入ったら買うかも。