コード例 #1
0
ファイル: UserData.php プロジェクト: aelix/framework
 /**
  * @param UserDataField $field
  * @param User $user
  * @param mixed $value
  * @return UserData
  * @throws \InvalidArgumentException
  */
 public static function create(UserDataField $field, User $user, $value)
 {
     // check if field is already set for user
     if ($user->getData($field->getName()) !== null) {
         throw new \InvalidArgumentException('User\'s data field ' . $field->getName() . ' already set.');
     }
     $value = serialize($value);
     Aelix::db()->prepare('INSERT INTO `user_data`
         SET `userID` = :userID, `fieldID` = :fieldID, `value` = :value')->execute([':userID' => $user->getID(), ':fieldID' => $field->getID(), ':value' => $value]);
     $dataID = Aelix::db()->getPDO()->lastInsertId('user_data');
     return new UserData($user, $field, $dataID, $value);
 }