Опция 'manual'

Опция manual позволяет указать колонку, которая не будет сопоставлена с базой данных.
Такая колонка должна быть заполнена другим способом, на основании данных из других колонок, либо из любых других внешних источников.

В реальной жизни такие колонки требуются очень часто.

Пример сборки полного имени пользователя:

$this->query = "SELECT {fields} FROM tbl_order o, tbl_customer c WHERE c.id=o.customer_id AND {where}";
 
$this->cols = array(
	"id"          => array("label"  => "ID",
                               "db"     => "o.id",
			       ...
			       ),
 
	"first_name"  => array("label"  => "First name", 
			       "db"     => "c.first_name", //table_name.field
			       ...
				),
 
	"last_name"   => array("label"  => "Last name",
                               "db"     => "c.last_name",
			       ...
				),
 
	"full_name"   => array("label"  => "Full name",
                               "manual" => true,
			       ...
				),
);
 
.......
 
protected function parseRow(array $r)
{
    $r['full_name'] = $r['first_name'] . ' ' . $r['last_name']; //full_name assigned manually in PHP
    return $r;
}

На других языках