CakephpでModelのデータベースアクセスをsqlで確認する

Cakephpでモデルにアソシエーションたくさんつけたり、検索条件たくさんつけたりすると
ちゃんとデータがとれるか不安なので、sqlで確認したい..ときには

$data = $this->SampleModel->find('all);

$sqlLog = $this->SampleModel->getDataSource()->getLog(false, false);
debug($sqlLog);

とすると生のSQLが表示されて安心です

phpでin_arrayを使わずに同じことをする

phpではすごく大きな配列だとin_arrayが遅いようなので書き換えてみました

普通のin_array

$arr = [1,2,3, 4, 5];
if (in_array(2, $arr)) {
    echo 'exists';
}

issetが早いらしいので、isset版

$flipArr = array_flip($arr);
if (isset($flipArr[2])) {
    echo 'exists';
}

キーと値を反転させて、issetで判定しています
ベンチとればよかったですが、かなり早くなりました

surround.vimで単語をダブルクオートで囲う

tpope/vim-surround
をインストール

Neobundleで入れました

$ vim .vimrc
NeoBundle ‘tpope/vim-surround’

一回vimを開きなおして

:NeobundleInstall

準備完了

ビジュアルモードで選択して
Shift + s

で下にカーソルが移動するので

を打つと単語がダブルクオートで囲まれます

ysiw
で下にカーソルが移動するので

を打つと単語がダブルクオートで囲まれます

ダブルクオートを外すときは単語の上にカーソルがある状態で
ds
で削除されます

vimで複数行の先頭に追加と行末に追加

こんな文があった時

William
Steven
Ryan
Johnny

vimで複数行選択して先頭に追加

Shift + v
j
j
j
Shift + i
>
ESC

>William
>Steven
>Ryan
>Johnny

vimで複数行選択して末尾に追加

Shift + v
j
j
j
$
Shift + a
,
ESC

William,
Steven,
Ryan,
Johnny,

複数行選択して行連結させたらCSVになります

Shift + v
j
j
j
Shift + j

William, Steven, Ryan, Johnny,