resultset_attributes
DBICのresultset_attributesを使うとデフォルトの検索条件とか
ソート条件を指定できます。
package Your::Schema::User;
use strict;
use warnings;
use base 'DBIx::Class';__PACKAGE__->table('user');
__PACKAGE__->resultset_attributes({ order_by => 'id DESC'});
...1;
こんな感じでresultset_attributesを指定しておいてやると
デフォルトでid DESCになってくれる。
例えば
こんなのを実行すると
$self->model('User')->search(
{
name => 'nekokak'
}
)->first;
SELECT me.* FROM user me WHERE name = ? ORDER BY id DESC
こんなSQLが実行される。
普通だったら
こういう風に指定してやる必要がある。
$self->model('User')->search(
{
name => 'nekokak'
},
{
order_by => 'id DESC'
}
)->first;
便利便利。
__PACKAGE__->resultset_attributes({ where => {delete_fg => 0} });
こんな感じでWHERE句の指定もできて、かなり便利。