OSDN Git Service

Model::Users::Param: add set()
authorhylom <hylom@users.sourceforge.jp>
Wed, 7 Nov 2018 12:10:26 +0000 (21:10 +0900)
committerhylom <hylom@users.sourceforge.jp>
Wed, 7 Nov 2018 12:10:26 +0000 (21:10 +0900)
src/newslash_web/lib/Newslash/Model/Users/Param.pm

index fc297e7..e9330bf 100644 (file)
@@ -12,6 +12,40 @@ sub key_definition {
            };
 }
 
+
+sub set {
+    my $self = shift;
+    my $params = {@_};
+    my $uid = $params->{uid};
+    my $name = $params->{name};
+    my $value = $params->{value};
+
+    if (!defined $uid
+        || !defined $name
+        || !defined $value) {
+        $self->last_error("INVALID_PARAMETER");
+        return;
+    }
+
+    my $sql = <<"EOSQL";
+INSERT INTO users_param
+    (uid, name, value)
+  VALUES
+    (?,   ?,    ?)
+  ON DUPLICATE KEY UPDATE
+    name = ?, value = ?
+EOSQL
+
+    my $dbh = $self->connect_db;
+    my $rs = $dbh->do($sql, undef, $uid, $name, $value,
+                      $name, $value);
+    if (!defined $rs) {
+        $self->last_error($dbh->errstr);
+    }
+    $self->disconnect_db;
+    return $rs;
+}
+
 sub insert {
     my $self = shift;
     my $params = {@_};