Возможно, мне не хватает чего-то простого, но я решил спросить здесь, так как не смог найти никакой информации по теме сохранения массива указателей с помощью parse php sdk.
У меня есть список идентификаторов объектов из класса Groups, и я хочу сохранить эти идентификаторы объектов в виде массива указателей на мой класс Organization.
try {
$query = new ParseQuery("Organization");
$query->equalTo('objectId', $objectID);
$results = $query->first($useMasterKey = true);
$groups = ParseObject::create('Organization', $data, true);
$groups->set("test1" , $groups);
$groups->save($useMasterKey = true);
$results->setArray("groups", $data);
//$results->setArray("test1", array('__type' => 'Pointer', 'className' => 'Group', 'objectId' => $data[0]));
//$results->setAssociativeArray("test1", array($groups[0]));
$results->save($useMasterKey = true);
} catch (\Exception $e){
print("An error has occurred with code: " . $e->getMessage());
}
$ data это массив идентификаторов объектов группы объектов
любая помощь будет оценена.
Хорошо, вот как я это сделал, если кто-то столкнется с этой ситуацией.
Просматривая имеющееся у нас приложение iOS, которое создает аналогичные выходные данные в базе данных, эта функциональность
Comment(withoutDataWithObjectId: aPossibleObjectIdString)
Помогает создать массив того, что выглядит как указатели.
[
{
"__type": "Pointer",
"className": "Group",
"objectId": "5JbTj2k7hx"},
{
"__type": "Pointer",
"className": "Group",
"objectId": "oo69vxrQG0"}
]
Это было просто вставлено из базы данных. Это позволяет клиенту как-то указывать в качестве указателя.
Честно говоря, я не уверен, что это лучший способ сделать это, но то, что я в итоге использовал.
// HACK to add pointer type data into array type column.
// Value is the objectID from the groups collection.
foreach($data as $value) {
$groups[] = array(
"__type" => "Pointer",
"className" => "Group",
"objectId" => $value
);
}
try {
$query = new ParseQuery("Organization");
$query->equalTo('objectId', $objectID);
$results = $query->first($useMasterKey = true);
$results->setArray("groupPointer", $groups); // actual data that was generated ..
$results->setArray("groups", $data);
$results->save($useMasterKey = true);
} catch (\Exception $e){
print("An error has occurred with code: " . $e->getMessage());
}
Других решений пока нет …