parse.com — разбирает PHP, сохраняя массив указателей

Возможно, мне не хватает чего-то простого, но я решил спросить здесь, так как не смог найти никакой информации по теме сохранения массива указателей с помощью 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 это массив идентификаторов объектов группы объектов

любая помощь будет оценена.

0

Решение

Хорошо, вот как я это сделал, если кто-то столкнется с этой ситуацией.

Просматривая имеющееся у нас приложение 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());
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector