- 追加された行はこの色です。
- 削除された行はこの色です。
* CASE式の代わり [#tc1d530c]
* ROWオブジェクトを拡張してCASE式の代わり [#tc1d530c]
スキーマクラスにメソッドを追加して、CASE式の代わりにする。以下はstatus_flgカラムの値から条件分岐して説明文言を返す例。
スキーマクラスにメソッドを追加して、CASE式の代わりにする。以下はstatus_flgカラムの値から条件分岐して説明文言を返すカラムを追加している。
package Schema::Member;
use base 'DBIx::Class';
__PACKAGE__->load_components(qw/ PK::Auto Core/);
__PACKAGE__->table('member');
__PACKAGE__->add_columns(qw/
coupon_id
login_id
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';
}