2017-01-16 3 views
1

파스 데이터베이스를 사용하여 IOS 응용 프로그램을 구축 중이며 PHP를 사용하여 데이터베이스에 연결할 수 있다는 것이 유용하다는 것을 깨달았습니다. PHP SDK를 다운로드하여 연결되도록 설정했습니다. 정보를 검색하고 testObject를 설정해도 연결이 유효하다는 것을 알 수 있습니다. 그러나 User 클래스에서 이미지를 업데이트하는 데 문제가 있습니다. 공개 읽기 및 쓰기 액세스 권한을 갖도록 ACL을 설정했으며 특히 하나의 이미지를 하나의 사용자 계정으로 업로드하려고합니다.왜 Parse Class는 저장되지 않습니까?

구문을 이해하면 누구든지 내 코드가 작동하지 않는 이유를 알 수 있습니까?

"Okay far far"메시지가 표시되므로 try catch와 함께 실패한 것으로 알고 있지만 성공 또는 오류가 출력되지 않는 이유는 알 수 없습니다.

답변

1

옵션 나는 사용자를 수정하는 클라우드 코드를 사용하는 것이 좋습니다 것이라고

$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(); 
} 

감사합니다. 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','[email protected]'); 
      $user->set('profilePic', $file); 
      $user->save($useMasterKey = true); 
     } 
    } 
    catch (ParseException $error) { 
     echo 'Error message: '.$error->getMessage(); 
    } 
+0

나는 나를 위해 일하지 않는 것이 두렵다. 시험되고 검증 된 코드인가? 그것이 있다면, 내 끝 부분에 뭔가가 있어야합니다 ... 이것은 너무 초조해합니다! :) – Dan

+0

죄송합니다 parse.com했다. 지금 시도해보십시오. 구문 분석 서버를 사용할 때 users 테이블에는 항상 $ useMasterKey = true가 필요합니다. 내 대답을 업데이트했습니다 – Cliffordwh

+0

초기화에 마스터 키를 전달했는지 확인하십시오. – Cliffordwh

관련 문제