Object Collection

PublimmoPro\ObjectCollection est une classe représentant une liste d'objets obtenue lors d'une recherche.

Initialisation

Utilisez la classe PublimmoPro\Collection pour pouvoir faire des manipulations sur les résultats de recherche.

Exemple d'instanciation de l'objet

Il est peu probable que ceci ait besoin d'être fait à la main
En effet, la méthode query() de la classe PublimmoPro\Client retourne déjà un objet ObjectCollection.

use \PublimmoPro\ObjectCollection;

$Collection = new ObjectCollection($results, 80);

$Collection->get();

Il est plus probable que cela soit utilisé à la suite d'une requête Client.


use \PublimmoPro\Client;

$Client = new Client('2121313', 'unecle');

$Collection = $Client->setType(Client::PARKING)
       ->setDisponiblite(Client::AVAILABILITY_IS_AVAILABLE)
       ->query();

$Collection->get();

Méthodes

get()

Retourne la liste d'objets.

Paramètres

Pas de paramètres

Exemple

$Collection->get();

getTotal()

Retourne le nombre total d'objets trouvés.

Paramètres

Pas de paramètres

Exemple

$Collection->getTotal(); // 432

filter(string $filter_type, mixed $objects_to_filter)

Filtre les résultats en incluant ou excluant les identifiants d'objets indiqués.

Paramètres

Param Type Description
$filter_type string Type de filtre, accepte "include" ou "exclude"
$objects_to_filter mixed identifiant de l'objet à filtrer ou tableau d'objets à filtrer

Exemple

$Collection->filter('include', 85763)->get();
$Collection->filter('exclude', [85763, 24987])->get();

sort(mixed $instructions)

Trie les résultats selon les instructions données.

Paramètres

Param Type Description
$instructions mixed Chaîne d'instruction ou tableau de châines d'instructions

Composition de l'instruction

Une instruction est une châine composée des trois éléments suivants :

  • Le champ : nom du champ tel que décrit dans l'API
  • Sens de tri : 'asc' ou 'desc'
  • Type de champ : 'integer', 'float' ou 'string'

Sa syntaxe est "champ:sens:type".

Exemple

$Collection->sort('prix:asc:integer')->get();
$Collection->sort(['prix:asc:integer', 'pieces:desc:float'])->get();