2017-09-04 1 views
0

Ma table mongodb a un champ qui a une valeur d'objet commeTrouver des documents avec correspondant à la valeur de l'objet du champ

_id : ObjectId("59ad227e191cc3a4c33ade07") 
user_info : {"first_name": "Shraddha", "last_name": "Banerjee", "Zip": "90242", "City": "SantaBarbara"} 

Je veux trouver les utilisateurs avec Zip: 90242.

J'ai essayé de le faire comme:

$users = User::where('user_info.Zip','=', 90242)->get(); 

Mais cela me donne un résultat vide. Comment cela peut-il être réalisé?

+0

'$ Prenez d'abord info = $ user_info [ 'Zip'],' et ensuite utiliser '$ utilisateurs = utilisateur :: où ($ info , '=', 90242) -> get(); laissez-moi savoir si cela fonctionne! –

+0

L'avez-vous essayé ?? –

+0

Salut @Hiren, ça ne marche pas. C'est un objet stocké dans user_info. Il donne l'erreur: Undefined variable: user_info. Eh bien j'ai aussi essayé d'utiliser $ info = "user_info.Zip"; $ users = Utilisateur :: where ($ info, '=', 90242) -> get(); –

Répondre

0

il semble que vos données zip sont stockées chaîne et lorsque vous interrogez, vous utilisez entier.

$users = User::where('user_info.Zip','=', '90242')->get(); 

essayer de jeter zip à chaîne lorsque vous faites la requête