はてなでよくあるアーキテクチャ 27 package Sample::Service::User; # Read sub find_by_id { my ($class, $db, $id) = @_; return $db->select_row_as(q[ SELECT * FROM user WHERE id = :id ], { id => $id }, 'Sample::Model::User' ); }
はてなでよくあるアーキテクチャ 28 package Sample::Service::User; # Update sub update_user { my ($class, $db, $user, $params) = @_; # 変更がなかったら更新しない return if ( $user->name eq $params->{name} && $user->type eq $params->{type} ); $db->query(q[ UPDATE user SET name = :name, type = :type WHERE id = :id ], { name => $params->{name}, type => $params->{type}, id => $user->id, }); }