Home
Accueil
Downloads
Téléchargements
Forums
Forums
Your Account
Votre compte
Menu
· Accueil ·

· Communication ·
  · Forums
  · Messages privés
  · Contactez nous
  · Recommendez nous
  · Sondages
  · Les projets

· Nouvelles ·Stats
  · Sujets
  · Ecrire un article
  · Articles archivés
  · Articles RSS
  · Lettre de sécurité
  · Archive de lettres

· Téléchargements ·
  · Accueil
  · Nouveautés
  · Mises à jour
  · Thêmes

· Outils ·
  · Outils divers
  · Convertisseur de temps
  · Table de caractères
  · Générateur de boutons
  · Compresseur Javascript

· Documentation ·
  · Wiki
  · Questions/Réponses
  · Documents
  · Manuel PHP-Nuke
  · Manuel PHP
  · Manuel PEAR
  · Encyclopédies

· Liens ·
  · Nos liens
  · Nos fluxs RSS
  · Partenaires
  · Votre publicité
  · Sitemap
  · Mes bannières

· Infos ·
  · Rechercher
  · Votre compte
  · Liste des membres
  · Carte des membres
  · Top

· Divers ·
  · Météo
  · Galeries
  · Statistiques Phpnuke
  · MS Analysis


->selectAs()

->selectAs()

->selectAs() -- Construit le composant sélectionné d'une requête (habituellement, pour une jointure)

Description

Création automatique d'éléments basés sur soit les noms des colonnes des objets courants, soit de l'objet fourni, soit d'un tableau.

Cette méthode est utilisée en conjonction avec joinAdd, afin de permettre le renommage des colonnes, dans un format fixe, lors des conflits de nommage (par exemple, lorsque les tables ont toutes une colonne 'id').

Le fait de ne fournir aucun argument à selectAs effacera la sélection courante (habituellement, efface le caractères par défaut *) et construira une liste de sélection basée sur les noms des colonnes des objets courants.

Paramètres

  • object | array $column_or_object - un objet de données ou un tableau de noms de colonnes

  • string $format - le format des colonnes à afficher, en utilisant le format sprintf, le %s est remplacé par le nom de la colonne, donc, car_%s résultera en la génération sql 'car.name as car_name'.

  • string $tableName - ceci est utilisé soit lorsque un tableau est fourni en tant que premier argument, soit lorsque vous joingez une table 'as' un atre nom

Note

Cette fonction ne peut pas être appelée de façon statique.

Exemple

Exemple 33-1. Exemple avec selectAs()

<?php
DB_DataObject::debugLevel(1);

$person = new DataObjects_Person;

// pour générer "person.id as id , person.name as name ......."
$person->selectAs();

// pour générer une liste restreinte... "person.age as age , person.name as name"
$person->selectAs(array('age','name'));

// utilisation d'un autre objet.
$car = new DataObjects_Car;

// c'est la première voiture
$car->use = 'first';

// utilisation de joinAdd pour ajouter la voiture..
$person->joinAdd($car); 

// maintenant, ajout de toutes les colonnes sélectionnées pour la voiture eg. "car.id as car_id, car.name as car_name ...."
$person->selectAs($car, 'car_%s');

// sélection uniquement de quelques colonnes depuis la table des voitures.
// notez que vous devez utiliser le nom de la table à la fin..
$person->selectAs(array('color','topspeed'), 'car_%s','car');

// maintenant, l'utilisateur peut avoir une seconde voiture....
$secondcar = new DataObjects_Car;
$secondcar->use = 'second';

// maintenant que nous avons une voiture...
// donc, nous joingnons la seconde voiture "FROM person INNER JOIN car ..... , car as secondcar WHERE .....
$person->joinAdd($secondcar,'','secondcar'); 

// et maintenant, nous pouvons ajouter toutes les colonnes
// "secondcar.id as secondcar_id, secondcar.name as secondcar_name ........
// notez que vous devez utiliser le dernier champ sous le format SECONDCAR.ID en utilisant le 'AS' name, plutôt que
// le vrai nom de la table 'car' de l'objet
$person->selectAs($secondcar, 'secondcar_%s','secondcar');

// Ok, exécutons la requête...
$person->find();
while ($person->fetch()) {
   ......
}

?>

Manuel PEAR pour PHP-Nuke © www.stefvar.com
Syndiquez notre contenu RSS, Atom, etc..
PHP-Nuke © 2007Reproduction interdite sans autorisation de ma part www.stefvar.com Copyright © 2008Thème iCGstation
Site français de la communauté PragmaMx