ROWオブジェクトを拡張してCASE式の代わりスキーマクラスにメソッドを追加して、CASE式の代わりにする。以下はstatus_flgカラムの値から条件分岐して説明文言を返すカラムを追加している。 package Schema::Member;
use base 'DBIx::Class';
__PACKAGE__->load_components(qw/ PK::Auto Core/);
__PACKAGE__->table('member');
__PACKAGE__->add_columns(qw/
member_id
status_flg
/);
sub status_flg_desc {
my $self = shift;
my $status_flg = $self->status_flg;
return
$status_flg eq '1' ? '有効'
: $status_flg eq '0' ? '無効'
: 'N/A';
}
|
|