/** * Table Manager Constructor * * @param Next\DB\Driver\Driver $driver * Connection Driver * * @param Next\DB\Table\Table $table * Table Object */ public function __construct(Driver $driver, Table $table) { parent::__construct(); // Setting Up resources $this->driver =& $driver; $this->table =& $table; /** * @internal Data Source * * By default Table Manager will work with original Table Fields. * * When a UPDATE Statement is executed, however, the Manager will * work with Row/RowSet Fields computed from the difference between * original fields and modified fields */ $this->source = $table->getFields(); // Extend Object Context to QueryBuilder Class $this->extend(new Invoker($this, new Builder($driver->getRenderer()))); }
/** * Delete Records from Table * * @return Next\DB\Table\Manager * Manager instance, in order to allow method chaining to build the final query */ public function delete() { // Building SQL DELETE Statement $this->createQuery($this->driver->getRenderer()->delete($this->table->getTable())); return $this; }