2015-02-26 1 views
2

J'utilise Propel deux, je veux être en mesure de sélectionner la valeur d'une colonne dans une table, la requête SQL brute équivalente ressemble à ceci:Propel sélectionner une colonne d'une table

select author_id from book_authors WHERE book_id = 111; 

Si j'écris

BookAuthorsQuery::create()->findByAuthorId(111); 

je vais obtenir un tableau contenant des objets de tous les champs que la table a, mais je un un tableau contenant les valeurs de ma colonne sélectionnée.

Répondre

8

Essayez ceci:

BookAuthorsQuery::create()->select(array('author_id'))->findByBookId(111); 

la ->select(array('author_id')) dans la requête Propel donne propulsent un éventail de champs que vous souhaitez sélectionner votre table.

+0

Hé là. S'il vous plaît envisager d'expliquer en mots ce que cela fait et comment il résout le problème. –

+0

Bonjour @ FélixGagnon-Grenier, veuillez consulter cette section de la documentation: http://propelorm.org/Propel/reference/model-criteria.html#getting-columns-instead-of-objects –