2011-09-17 7 views
15

Nie mogę wymyślić dla mojego życia wyboru z kolekcji z parametrem or. Nie działa to dla mnie i nie mogę znaleźć żadnej dokumentacji na ten temat dla php.

Oto mój przykładowy kod, który nie zwraca niczego, mimo że istnieje w kolekcji:

$cursor = $products->find(
    array(
     '$or' => array(
      "brand" => "anti-clothes", 
      "allSizes" => "small" 
     ) 
    ) 
); 
+1

Istnieją koncepcje te zwane * kapitalizacja * i * * apostrofy ... Zastanawiam się, dlaczego tak wielu zapomina/ignorować je, kiedy zadawać pytania ... ': P' –

Odpowiedz

44
The $or operator lets you use boolean or in a query. 
You give $or an array of expressions, any of which can satisfy the query. 

Podano tylko jeden element w tablicy. Zastosowanie:

find(array('$or' => array(
    array("brand" => "anti-clothes"), 
    array("allSizes" => "small") 
))); 
+0

niesamowite .. dzięki. to działało. – Andrew

+0

@Andrew - Należy oznaczyć odpowiedzi jako poprawne, klikając znacznik wyboru obok odpowiedzi. –

+0

Tak, powiedziałem, że muszę poczekać 4 minuty, aby zaakceptować odpowiedź z jakiegoś powodu – Andrew