2010-08-23 6 views
2

Je sais que cela semble ridiculement facile, mais il n'y a tout simplement aucune documentation sur ce sujet trouvable sur google.Très simple question Zend_Db_Table

Je voudrais sélectionner deux colonnes de la base de données. J'ai créé un objet Zend_Db_Table et je l'ai pointé vers ma table.

Maintenant, j'aime bien sélectionner deux colonnes: customerId et name.

Que dois-je faire pour sélectionner uniquement ces deux colonnes et non la table entière?

Merci d'avance, je vais vous faire un gâteau ou nettoyer votre chambre.

Répondre

4
$table->fetchAll(
    $table->select() 
      ->from('table', array('column1', 'column2')) 
); 

Et merci, j'ai déjà une femme de chambre;)

+0

Merci! ;) Je suppose que je vais envoyer le gâteau par la poste alors. – baklap

+0

Vous étiez plus rapide :) –

0
$select = $db->select() 
      ->from(array('t' => 'table'), 
        array('column1', 'column2')); 
$stmt = $db->query($select); 
$result = $stmt->fetchAll(); 
0
$select = $db->select() 
      ->from('products', 
        array('product_id', 'product_name', 'price')); 

vous devez passer les fiels souhaités comme second argument à la méthode de(), la première est la table . Je sais que c'est un peu déroutant car dans la syntaxe sql régulière les champs désirés vont en premier, mais zend db est assez pratique si vous voulez faire des requêtes de façon modulaire. tableau de chaînes et chaîne unique est acceptée

un autre exemple:

Example #11 Examples of adding columns with the columns() method 
// Build this query: 
// SELECT p."product_id", p."product_name" 
// FROM "products" AS p 

$select = $db->select() 
      ->from(array('p' => 'products'), 'product_id') 
      ->columns('product_name'); 

// Build the same query, specifying correlation names: 
// SELECT p."product_id", p."product_name" 
// FROM "products" AS p 

$select = $db->select() 
      ->from(array('p' => 'products'), 'p.product_id') 
      ->columns('product_name', 'p'); 
      // Alternatively use columns('p.product_name')