Получить правильный запрос в Parse REST API

#php #rest #parse-platform

#php #rest #синтаксический анализ-платформа

Вопрос:

Я реализовал запрос для сообщений чата в PARSE, используя их REST API. Моя проблема в том, что я получаю сообщения, в которых каким-то образом отправитель и получатель были одинаковыми.

Очевидно, ошибка или тест в отладочной версии. В любом случае, эти сообщения не должны отображаться.

Очевидно, я хочу исправить это, изменив свой запрос PARSE, а не просматривать все сообщения и удалять неправильные. Это вообще возможно? Я не очень хорошо разбираюсь в PARSE REST API.

Это то, что я передаю в PARSE API:

          $aWhere = array(
                        self::FIELD_SENDER =>   array('$in' => array($sUsername1, $sUsername2)),
                        self::FIELD_RECEIVER => array('$in' => array($sUsername1, $sUsername2)),                    
                    );  

$url = 'https://api.parse.com/1/classes/test?where='.json_encode($aWhere);
  

url затем передается в CURL

Я хочу избегать сообщений, где self::FIELD_SENDER есть $sUsername1 И self::FIELD_RECEIVER is $sUsername1 , и то же самое относится к $sUsername2 .

Ответ №1:

Я настоятельно рекомендую вам вместо этого исправить свои данные с помощью задания.

Что касается того, что вы просите, вы не можете получить то, что хотите. Давайте исследуем логику:

  • Вы могли бы попробовать создать запрос OR
    • Запрос 1: отправитель != пользователь1 И получатель != пользователь1
    • Запрос 2: отправитель != пользователь2 И получатель != пользователь2

Может показаться, что это даст желаемые результаты, за исключением ситуации, исключенной запросом 1, удовлетворяемой запросом 2, и наоборот.

Как насчет использования $ nin (не в):

  • отправитель отсутствует (пользователь1, пользователь2)
  • приемник не включен (пользователь1, пользователь2)

К сожалению, это также исключит следующие сообщения:

  • отправитель = пользователь1, получатель = (любой)
  • отправитель =пользователь2, получатель = (любой)
  • отправитель = (любой), получатель =пользователь1
  • отправитель = (любой), получатель =пользователь2