Queries on array values broken since 2.3.1
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 48/100
Piste de recherche
Start at the equalTo query serialization path in the PHP SDK and reproduce the ParseRole query shown in the issue. Compare the generated request with the expected array-value query documented in the linked Parse guide. Done means pointer queries against array-valued fields return the matching roles without breaking scalar equalTo queries.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
New Issue Checklist
- I am not disclosing a vulnerability.
- I am not just asking a question.
- I have searched through existing issues.
- I can reproduce the issue with the latest version of Parse Server and the Parse PHP SDK.
We're not running the latest Parse server version, hence I haven't checked the last item above.
Issue Description
The fix for equalTo in 2.3.1 broke queries on array values.
Steps to reproduce
For example, to fetch all roles for a specific user:
$query = ParseUser::query();
$parseUser = $query->get("someUserId", true);
$query = ParseRole::query();
$query->equalTo("users", $parseUser);
$parseRoles = $query->find(true);
Actual Outcome
In previous versions, the query sent to Parse would look like:
{
"users": {
"__type": "Pointer",
"className": "_User",
"objectId": "someUserId"
}
}
Which would give us the roles for that user back.
Expected Outcome
In 2.3.1 the query became:
{
"where": {
"users": {
"$eq": {
"__type": "Pointer",
"className": "_User",
"objectId":"someUserId"
}
}
}
}
Which does not give any roles back. users on _Role is an array with a single user in our case.
Environment
Parse PHP SDK
- SDK version: 2.3.2
- PHP version: 8.2.6
Server
- Parse Server version: 4.3.0
- Operating system: Debian
- Local or remote host (AWS, Azure, Google Cloud, Heroku, Digital Ocean, etc): AWS
Database
- System (MongoDB or Postgres): MongoDB
- Database version: 3.6
- Local or remote host (MongoDB Atlas, mLab, AWS, Azure, Google Cloud, etc): AWS
- Langage dominant
- PHP
- Étoiles
- 808
- Forks
- 341
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Préparer son environnement
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de parse-community/parse-php-sdk
-
Undefined array key "result"Ouvertetype:feature
Difficulté 3/5 1-2 jours Accessibilité débutants 35/100
parse-community/parse-php-sdk#518 · 1 commentaire ·
-
"unauthorized: master key is required" error on aggregate ParseQuery despite the master key is setOuverte
Difficulté 3/5 1-2 jours Accessibilité débutants 35/100
parse-community/parse-php-sdk#466 ·
-
Difficulté 4/5 3-5 jours Accessibilité débutants 25/100
parse-community/parse-php-sdk#465 ·
-
Difficulté 3/5 1-2 jours Accessibilité débutants 25/100
parse-community/parse-php-sdk#457 · 1 commentaire ·
-
parse query for phpOuverte
Difficulté 3/5 1-2 jours Accessibilité débutants 25/100
parse-community/parse-php-sdk#456 · 1 commentaire ·
Toutes les issues de parse-community/parse-php-sdk
Issues similaires
-
UX
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
ProfessionalWiki/NeoWiki#1573 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 88/100
-
sync-en
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100
Les mainteneurs répondent en général sous 1 jour
-
sync-en
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
Les mainteneurs répondent en général sous 1 jour