Очень простой вопрос Zend_Db_Table

Я знаю, что это звучит до смешного просто, но в Google просто нет документации по этому вопросу.

Я хотел бы выбрать два столбца из базы данных. Я создал объект Zend_Db_Table и указал его на свою таблицу.

Теперь мне нравится выбирать два столбца: customerId и name.

Что мне делать, чтобы выбрать только эти два столбца, а не всю таблицу?

Заранее спасибо, я испеку тебе торт или уберу твою комнату.


person baklap    schedule 23.08.2010    source источник


Ответы (2)


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

И спасибо, у меня уже есть горничная ;)

person DASPRiD    schedule 23.08.2010
comment
Спасибо! ;) Пожалуй, тогда я отправлю торт по почте. - person baklap; 23.08.2010

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

вы должны передать нужные поля в качестве второго аргумента методу from(), первым является таблица. я знаю, что это немного сбивает с толку, потому что в обычном синтаксисе sql нужные поля идут первыми, но zend db очень удобен, если вы хотите создавать запросы по модульному принципу. массив строк и одна строка принимается

другой пример:

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')
person The Surrican    schedule 23.08.2010