Récupérer des enregistrements traduits

Comment récupérer des données traduites d'une table ?

Chaque collector peut appeler la méthode getI18n ou getOneI18n qui permet de récupérer des données traduites avec ou sans conditions.

 function getI18n($primary_key_value = '', $order = '', $search = '', $id_loc = '', $id_loc_master = '', $limit = '', $offset = '') { }

Les paramètres

  1. $primary_key_value : peut être la valeur de la clé primaire OU un tableau qui regroupe les conditions de récupération.
  2. $order : pour effectuer un tri par odre croissant.
  3. $search : pour rechercher un string dans les traductions.
  4. $id_loc : la langue.
  5. $id_loc_master : la langue maîtresse.
  6. $limit : un chiffre qui déterminera le nombre maximal de résultats.
  7. $offset : un chiffre qui déterminera le point de départ des résultats.

Exemple

L'exemple suivant permet de récupérer les valeurs du collector "example" si le champ 'is_valid' est égal à 1, par ordre croissant du champ 'n_order', avec 2 résultats maximum qui commencent par 0.

$conditions = array('is_valid' => 1);
$rows = $this->collector['example']->getI18n($conditions, 'order by n_order', '', '', '2', '0');

Retour de la fonction

Cette méthode retourne un tableau contenant les valeurs.

Array
(
    [0] = Array
        (
            [id_example] = 1
            [lib] = Item 1
            [created_at] = 2019-05-03 14:33:10
            [n_order] = 1
            [is_valid] = 1
            [ex_type] = EX1
        )

    [1] = Array
        (
            [id_example] = 3
            [lib] = Item 3
            [created_at] = 2019-05-03 14:33:21
            [n_order] = 3
            [is_valid] = 1
            [ex_type] = EX2
        )

)

Méthode getOneI18n

La méthode getOneI18n fonctionne de façon identique, à la seule différence que le résultat ne retourne qu'un seul enregistrement.

$rows = $this->collector['example']->getOneI18n();