我想用addressoints保存地址(关系对象),以便 稍后检索所有具有附近地址的事件 位置,它将全部基于坐标。使用下面的部分 代码 -
$address = new ParseObject("Address");
$point = new ParseGeoPoint(23.80, -120.90);
$address->set("location", $point);
$address->save();
我的数据库中的位置类型是geopoint,但它给了我连续的 错误 -
内部服务器错误。错误代码:异常'异常'有消息'无法序列化未保存的Parse.Object'
发布此我尝试了以下代码 -
$address = new ParseObject("Address");
$address->save();
$point = new ParseGeoPoint(23.80, -120.90);
$address->set("location", $point);
$address->save();
我试过这个,以便删除未保存的Parse.Object的上述错误,但是 它最终只保存我的地址对象,从不保存位置 它。我怎样才能做到这一点?
完整的代码视图 -
function saveEvent() {
$title = $this->input->post('title');
$eventCode = $this->input->post('eventCode');
$event = new ParseObject("Event");
$event->set("title", $title);
$event->set("eventCode", $eventCode);
$address = $this->saveAddressObject($event, $url);
$event_address_Relation = $event->getRelation("address");
if (!empty($address)) {
$event_address_Relation->add($address);
}
$event->save();
}
function saveAddressObject($event, $url) {
$fullAddress = $this->input->post('fullAddress');
$address1 = $this->input->post('address1');
$address2 = $this->input->post('address2');
$city = $this->input->post('city');
$state = $this->input->post('state');
$zipCode = (int) $this->input->post('zipCode');
$country = $this->input->post('country');
$latitude = $this->input->post('latitude');
$longitude = $this->input->post('longitude');
try {
$address = new ParseObject("Address");
$address->set("fullAddress", $fullAddress);
$address->set("address1", $address1);
$address->set("address2", $address2);
$address->set("city", $city);
$address->set("state", $state);
$address->set("zipCode", $zipCode);
$address->set("country", $country);
$address->set("latitude", $latitude);
$address->set("longitude", $longitude);
$point = new ParseGeoPoint($latitude, $longitude);
$address->set("location", $point);
$address->save();
return $address;
} catch (ParseException $error) {
print_r($error);
} catch (Exception $ex1) {
print_r($ex1);
}
}
答案 0 :(得分:1)
对于第二个示例,一次只能保存一个对象的实例,而另一个尝试正在进行的第二次+尝试将无提示地失败。至少在iOS上。我想这里的情况类似。
这是您的确切代码吗?当您尝试将尚未保存的新对象附加到另一个对象时,您提到的第一个错误往往会发生,并且您提到这些地址是以关系方式使用的。我敢打赌,你试图将一个对象作为指针附加到另一个对象,并且没有保存该对象,这意味着它还没有ID,因此你无法创建指向它的指针。
编辑 - 我不确定你使用的是哪个SDK,但是保存调用是异步的,这意味着它不会马上发生,所以你可能认为你是先保存一个对象,但实际上保存没有'完了,然后你试着将它附加到另一个物体?这也可能与您的第二个示例失败的原因有关,因为您没有在第二个保存后返回的任何完成处理程序。也许第一个设法完成,但第二个设法在你的函数返回之前就不会完成。