php - 为什么 Parse 类不保存?

标签 php ios parse-platform sdk

我正在使用 Parse 数据库构建 IOS 应用程序,并意识到能够使用 PHP 连接到数据库会很有用。我已经下载了 PHP SDK 并进行了设置,以便它可以连接。我可以检索信息,甚至设置了一个 testObject,所以我知道连接是有效的。但是,我在更新 User 类中的图像时遇到问题。我已将 ACL 设置为具有公共(public)读写访问权限,并专门尝试将一张图像上传到一个用户帐户。

任何了解语法的人都可以告诉我为什么我的代码不起作用吗?

我收到“到目前为止还不错”的消息,所以我知道失败是 try catch 造成的,但不明白为什么它既不输出成功也不输出错误。

$file = ParseFile::createFromFile("filename.jpg", "image.jpg", "image/jpg");
$file->save();

$getUser = new ParseQuery("_User");
$getUser->equalTo("objectId", "2Ic26GaYRE");
$results = $getUser->first();
$results->set("profilePic", $file);

echo "Okay so far";

try {
    $results->save();
    echo 'success';
}
catch (ParseException $ex) {
    echo 'error';
    echo $ex->getMessage();
}

谢谢

最佳答案

选项A
我建议使用云代码来修改用户。您可以通过编辑 cloud/main.js 文件在解析服务器上使用 javascript 创建云函数。

基本上,您可以创建这样的函数:

Parse.Cloud.define("modifyuser", function(request, response){
  var query = new Parse.Query(Parse.User);
  query.equalTo('objectId', request.params.objectId);
  query.find({
    useMasterKey: true,
    success: function(results){
      if(results.length>0){
        var user = results[0];
        user.set("SOMEPARAMETER",true);
        user.save().then(
            function(result){
            },
            function(error){
                console.log("Error: " + error.code + " " + error.message);
            });
        }
      }
    },
    error: function(error){
            response.error('query error: '+ error.code + " : " + error.message);
    }
  });
});

并从您的客户端调用此函数。

$ParseCloud::run("modifyuser", ["objectId" => "THEUSEROBJECTID"]);

选项 B 你可以试试这个 php 版本!

$file = ParseFile::createFromFile("imagePath.jpg", "image.jpg", "image/jpg"); 
$file->save(); 

     try { 
        $query = new ParseQuery("_User"); 
        $query->equalTo("username", "myUsername"); 
        $results = $query->find($useMasterKey = true); 
        foreach($results as $user) { 
          $user->set('email','me@myEmail.com'); 
          $user->set('profilePic', $file); 
          $user->save($useMasterKey = true); 
        } 
     }
    catch (ParseException $error) { 
        echo 'Error message: '.$error->getMessage(); 
    }

关于php - 为什么 Parse 类不保存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41680699/

相关文章:

php - Browscap.ini 丢失

php - 方法中的静态变量不会在实例未设置时重置

swift - Parse Server LiveQuery 没有响应 AWS

iphone - 如何浏览iPhone模拟器

ios - 游戏中心沙箱-既不真正登录也不注销

android - 无法启动接收器 com.parse.ParseBroadcastReceiver : java. lang.IllegalArgumentException:上次操作后操作无效

android - 增加推送通知数量

PHP 正则表达式从字符串 Markdown

PHP PDO语句过滤记录

ios - 模拟器不可用 appcelerator studio