kopug memo

名古屋で働くとあるWebエンジニアの覚書。

DBICいいな

1年ほど前に話は遡るが、カミさんが非常食だと大量にインスタントのおかゆを買い込んだことがある。
で、久々に非常袋チェックをしていると賞味期限の切れた大量のおかゆが出てきてしまい、
さすがに賞味期限切れてから3ヶ月もたつものを、食べるのも怖いので、泣く泣く廃棄に。

で、話を戻すと今後こういうことが無いように、Web(+携帯)で管理できる賞味期限マネージャみたいなのが欲しいと。
30分で作れとの指令が出た。
俺は慣れない家族付き合いで疲れてたんだが、やらねば殺られるので、ガンガッタ。

まぁ元々帰ってきたらCatalystの勉強がてらなんか作ろうと思ってたので、丁度いいサンプルかもしれない。
で。Class::DBI触ってたらやっぱらくちんだなーと。

select id food_name DATE_FORMAT(best_before_date, '%Y/%m/%e(%a)') as best_before_date from foo order by best_before_date

みたいなSQLを発行したかったんだけど、こんな感じでできた。

          $c->model('::Foo')
            ->search(
                        {},
                        {
                            order_by => 'best_before_date',
                            select   => [
                                            qw/
                                                id
                                                food_name
                                              /,
                                             "DATE_FORMAT(best_before_date, '%Y/%m/%e(%a)')"
                                        ],
                            as       => [qw/id food_name best_before_date/],
                        }
                    );

便利かも。