/**
  * Constructor.
  *
  * @param string         $alias       Table alias.
  * @param string         $table       Table name.
  * @param string|array   $pk          Primary key.
  * @param DatabaseDriver $db          Database adapter.
  * @param QueryHelper    $queryHelper Query helper object.
  */
 public function __construct($alias, $table, $pk = 'id', DatabaseDriver $db = null, QueryHelper $queryHelper = null)
 {
     $this->db = $db ?: DatabaseFactory::getDbo();
     $this->pk = $pk ?: $alias . '.' . $pk;
     $this->queryHelper = $queryHelper ?: new QueryHelper($this->db);
     $this->addTable($alias, $table);
     $this->configure();
 }
Example #2
0
 /**
  * Filter fields.
  *
  * @return  array Filter fields.
  */
 public function getFilterFields()
 {
     $fields = array();
     foreach ($this->tables as $alias => $table) {
         $columns = DatabaseFactory::getCommand()->getColumns($table['name']);
         foreach ($columns as $key => $var) {
             $fields[] = "{$alias}.{$key}";
         }
     }
     return $fields;
 }
Example #3
0
 /**
  * getDb
  *
  * @return  DatabaseDriver
  */
 public function getDb()
 {
     if (!$this->db) {
         $this->db = DatabaseFactory::getDbo();
     }
     return $this->db;
 }
Example #4
0
 /**
  * Get table fields.
  *
  * @param string $table Table name.
  *
  * @return  array
  */
 protected function getFields($table = null)
 {
     $table = $table ?: $this->table;
     return array_keys(DatabaseFactory::getCommand()->getColumns($table));
 }