public function __construct(DataRow $row) { if ($row->getTable()->getTableName() !== DB::getRoleTableName()) { throw new SystemException('Wrong Role Table'); } $this->_data = $row->getAllData(); //load permission $this->loadPermission(); }
public function __construct(DataRow $row = null) { if ($row === null) { $this->_data = array('id' => 0, 'name' => '请选择科目'); $this->setTable(new Table('subjects')); } else { $this->_data = $row->getAllData(); $this->setTable($row->getTable()); } }
/** * append a datarow object to the list * @param DataRow $data * @return boolean false if data table not match */ public function append(DataRow $data) { if ($data->getTable()) { if ($data->getTable()->getTableName() != $this->_table->getTableName()) { return false; } } else { $data->setTable($this->_table); } $this->_data[] = $data; return true; }
public function prepareDataRow(DataRow $data = null, array $properties = null) { if ($properties == null) { $properties = array(); $ref = new \ReflectionObject($this); $ps = $ref->getProperties(\ReflectionProperty::IS_PUBLIC); foreach ($ps as $p) { $properties[] = $p->getName(); } } if ($data == null) { $data = new DataRow(); } foreach ($properties as $property) { $data->set($property, $this->{$property}); } return $data; }
public function loadTable(Table $table, DataRow $dataRow = null) { $schema = $table->getSchema(); $fields = $schema['fields']; $obj = new \ORC\MVC\Request\Object(); foreach ($fields as $field_name => $field) { if (!isset($_REQUEST[$field_name])) { continue; } switch ($field['type']) { case 'smallint': case 'int': case 'mediumint': if ($field['unsigned']) { $filter = 'posint'; } else { $filter = 'int'; } break; case 'decimal': $filter = 'numeric'; break; case 'enum': $filter = array('enum' => $field['value']); break; default: $filter = 'safe'; break; } $default_value = null; if ($dataRow) { if ($dataRow->exists($field_name)) { $default_value = $dataRow->get($field_name); } } $value = $this->applyFilter($_REQUEST[$field_name], $filter, $default_value); $this->set($field_name, $obj->{$field_name} = $value); } return $obj; }