ブログアプリ制作
今日が火曜日っていうのを忘れていて、
すっかり月曜日だと思い込んでいました。
燃えるゴミ出そうと思ったら、
今日火曜日だからゴミの日じゃなくて、
ゴミが出せませんでした。
という、
ちょっとした、うっかり話でした。
本日のメニュー
■ブログアプリ制作
- 記事一覧
- 記事詳細
- 記事登録
「DBのcreated_atから、日付だけ取り出したい」
データベースのcreated_atには
データがこのように入ってます。
2009-07-21 14:33:30
ここから、日付だけ(2009-07-21)を取り出したいなって、
思ったんですが…
explodeでハイフンで区切ったら、後ろまでついてきちゃうし、
これは正規表現で取り出すのか??
とか、色々考えてちょっと正規表現見直したりしてたわけです。
しかし、先輩に聞いたら
なんとあっさり問題解決!!
symfonyには、うまいぐあいなメソッドが元々あって、
getCreatedAt()にphpのdate関数の引数のように引数を渡してあげるだけで、
実はとりたいものがとれたのです。
本日、一番感動した。
これが、今まで…
echo $data->getCreatedAt();
//2009-07-21 14:33:30
引数与えてみる。
echo $data->getCreatedAt('Y-m-d');
//2009-07-21
とれたー!!
なーんだ簡単じゃないか…。
lib/model/om/Base〜.phpにこんなのがありました。
public function getCreatedAt($format = 'Y-m-d H:i:s') { if ($this->created_at === null || $this->created_at === '') { return null; } elseif (!is_int($this->created_at)) { $ts = strtotime($this->created_at); if ($ts === -1 || $ts === false) { throw new PropelException("Unable to parse value of [created_at] as date/time value: " . var_export($this->created_at, true)); } } else { $ts = $this->created_at; } if ($format === null) { return $ts; } elseif (strpos($format, '%') !== false) { return strftime($format, $ts); } else { return date($format, $ts); } }
どうやらここで、symfonyが勝手にうまいことやってくれてたわけか。
まだまだ、symfonyは奥が深い。
ってか、symfonyがやってくれていることを知らなすぎっ!!