CDBI使っていると、ORDER BYとかLIMITとか副問い合わせなんかで、ついつい安易なset_sqlに走りがちになったりしませんか?
僕はなるヨ。
コレじゃいかんというわけで、今週を出来るだけset_sqlを使わないゾ週間に認定した。
で、ORDER BYに関しては、search のあたりに書いてあるようにorder_byというキーのハッシュを加えてやればいいらしい。
じゃぁ、DESCはどうすればいいんじゃと思ったら、後ろにつければいいみたい
{order_by => 'id DESC'}
みたいに。
ん、もしや文字列連結か?LIMITもそのまま後ろにつければOKなんではなかろうか?
OKだった。
$c->stash->{itemlist} = Publicious::Model::CDBI::Items->search_like( tags => '%test%', uid =>$c->stash->{uname}, {order_by => 'id DESC LIMIT 10'});
こんなんでバチッと動きました。
でも、こんなんやるなら素直にsql書いたほうがいいのかな?
$c->stash->{itemlist} = Publicious::Model::CDBI::Items->retrieve_from_sql( qq( 1 ORDER BY id DESC LIMIT 10) );
set_sqlは使ってナイゾと。