めも。
foreach($rows as $row) { if(end($rows) !== $row) { // 最後じゃない場合の処理 echo ','; } }
ループ中にimplode()的なことをやりたい時に便利。
めも。
foreach($rows as $row) { if(end($rows) !== $row) { // 最後じゃない場合の処理 echo ','; } }
ループ中にimplode()的なことをやりたい時に便利。
これが使えれば、ちょっと特殊なSQLも簡単に発行可能。
下記使った時の例。(ちょこっと改変してあります)
public function myCount() { $return = Cache::read($this->name.'_'.__FUNCTION__); if(!$return) { // バーチャルフィールドの追加 $this->virtualFields = [ 'count' => 'count('.$this->alias.'.id)' ]; $conditions = [ $this->alias.'.status' => 1 ]; $fields = [ $this->alias.'.hoge', $this->alias.'.count', ]; $group = $this->alias.'.hoge'; $return = $this->find('list', [ 'conditions' => $conditions, 'fields' => $fields, 'group' => $group ]); Cache::write($this->name.'_'.__FUNCTION__, $return); } return $return; }
う?む。唸るほど便利。
console.count()メソッドを用いると、それを記述した行を通過する度に
引数に渡した値と通過した回数(count()メソッドを呼び出した回数)を
コンソール画面に出力しれくれる。
下記例。
console.count('通過しました。'); ↓ 通過しました。: 1
※通過する度に右側の数値が2,3,4とインクリメントしていく。
めも。
グループ化を用いる。
下記例。
'aaahogehogeaaa'.match(/aaa(.*)aaa/) ↓ ["aaahogehogeaaa", "hogehoge"]
めも。
例えばこんな感じ。(datetimeをdateに)
select cast('2014-04-07 23:23:23' as date); ↓ 2014-04-07
めも。
select trim(' aaa '); ↓ aaa
めも。
select left('abcde', 2); ↓ ab
めも。
select right('.com/', 1); ↓ / select right('.com/', 3) ↓ om/
今回はURLの末端にスラが有るか無いかを判定するのに使ってみた。