SQLSTATE[3F000]: Invalid schema name Olá, pessoal, estou recebendo a seguinte mensagem ao carregar uma grid. SQLSTATE[3F000]: Invalid schema name: 7 ERROR: schema "teste" does not exist LINE 1: SELECT count(*) FROM "teste"."unit_historic" ^.. Porém os dados são carregados. Meu model ...
RS
SQLSTATE[3F000]: Invalid schema name  
Olá, pessoal, estou recebendo a seguinte mensagem ao carregar uma grid.

SQLSTATE[3F000]: Invalid schema name: 7 ERROR: schema "teste" does not exist LINE 1: SELECT count(*) FROM "teste"."unit_historic" ^..


Porém os dados são carregados.

Meu model

 
  1. <?php
  2. class UnitHistory extends TRecord
  3. {
  4. const TABLENAME = 'sgo.unit_historic';
  5. const PRIMARYKEY= 'id';
  6. const IDPOLICY = 'max'; // {max, serial}
  7. private $unit_type;
  8. private $person;
  9. private $system_unit;
  10. private $upper_unit;
  11. public function __construct($id = NULL, $callObjectLoad = TRUE)
  12. {
  13. parent::__construct($id, $callObjectLoad);
  14. parent::addAttribute('created');
  15. parent::addAttribute('updated');
  16. parent::addAttribute('active');
  17. parent::addAttribute('end_date');
  18. parent::addAttribute('start_date');
  19. parent::addAttribute('system_unit_id');
  20. parent::addAttribute('type_id');
  21. parent::addAttribute('observation');
  22. parent::addAttribute('responsible_id');
  23. parent::addAttribute('code');
  24. parent::addAttribute('upper_id');
  25. parent::addAttribute('code_upper');
  26. }
  27. public function set_unit_type(UnitType $object)
  28. {
  29. $this->unit_type = $object;
  30. $this->unit_type_id = $object->id;
  31. }
  32. public function get_unit_type()
  33. {
  34. try{
  35. TTransaction::open('teste');
  36. // loads the associated object
  37. if (empty($this->unit_type))
  38. $this->unit_type = new UnitType($this->type_id);
  39. // returns the associated object
  40. return $this->unit_type;
  41. TTransaction::close();
  42. }
  43. catch (Exception $e)
  44. {
  45. parent::add($e->getMessage());
  46. }
  47. }
  48. public function set_person(Person $object)
  49. {
  50. $this->person = $object;
  51. $this->person_id = $object->id;
  52. }
  53. public function get_person()
  54. {
  55. // loads the associated object
  56. if (empty($this->person))
  57. $this->person = new Person($this->person_id);
  58. // returns the associated object
  59. return $this->person;
  60. }
  61. public function set_system_unit(SystemUnit $object)
  62. {
  63. $this->system_unit = $object;
  64. $this->system_unit_id = $object->id;
  65. }
  66. public function get_system_unit()
  67. {
  68. try{
  69. TTransaction::open('permission');
  70. if (empty($this->system_unit))
  71. {
  72. $system_unit = SystemUnit::where('id','=',$this->system_unit_id)->load();
  73. $this->system_unit = $system_unit[0];
  74. }
  75. return $this->system_unit;
  76. TTransaction::close();
  77. }
  78. catch (Exception $e)
  79. {
  80. parent::add($e->getMessage());
  81. }
  82. }
  83. public function get_upper_unit()
  84. {
  85. try{
  86. TTransaction::open('permission');
  87. if (empty($this->upper_unit))
  88. {
  89. $upper_unit = SystemUnit::where('id','=',$this->upper_id)->load();
  90. $this->upper_unit = $upper_unit[0];
  91. }
  92. return $this->upper_unit;
  93. TTransaction::close();
  94. }
  95. catch (Exception $e)
  96. {
  97. parent::add($e->getMessage());
  98. }
  99. }
  100. }
  101. ?>

Grid
 
  1. <?php
  2. class UnitDataGrid extends TPage
  3. {
  4. protected $form; // registration form
  5. protected $datagrid; // listing
  6. protected $pageNavigation;
  7. use Adianti\base\AdiantiStandardListTrait;
  8. public function __construct()
  9. {
  10. parent::__construct();
  11. $this->setDatabase('sgo'); // defines the database
  12. $this->setActiveRecord('UnitHistory'); // defines the active record
  13. $this->setDefaultOrder('id', 'asc'); // defines the default order
  14. $this->setLimit(5);
  15. //$this->setCriteria($criteria) // define a standard filter
  16. $this->addFilterField('id', '=', 'id'); // filterField, operator, formField
  17. $this->addFilterField('system_unit->code_unit', 'like', 'code'); // filterField, operator, formField
  18. $this->addFilterField('system_unit_id', '=', 'system_unit_id'); // filterField, operator, formField
  19. $this->addFilterField('type_id', '=', 'type_id'); // filterField, operator, formField
  20. $this->addFilterField('code_upper', 'like', 'code_upper'); // filterField, operator, formField
  21. $this->addFilterField('upper_id', 'like', 'upper_id'); // filterField, operator, formField
  22. $this->addFilterField('start_date', 'like', 'start_date'); // filterField, operator, formField
  23. $this->addFilterField('responsible_id', 'like', 'responsible_id'); // filterField, operator, formField
  24. $this->addFilterField('observation', 'like', 'observation'); // filterField, operator, formField
  25. $this->addFilterField('active', 'like', 'active'); //filterField, operator, formField
  26. $this->form = new TForm('form_search_UnitHistory');
  27. $this->form->style = 'overflow-x:auto';
  28. $id = new TEntry('id');
  29. $code = new TEntry('code');
  30. $system_unit_id = new TDBUniqueSearch('system_unit_id', 'permission', 'SystemUnit', 'id','name');
  31. //$type_id = new TEntry('type_id');
  32. $type_id = new TDBUniqueSearch('type_id', 'sgo', 'UnitType', 'id','name');
  33. $code_upper = new TEntry('code_upper');
  34. $upper_id = new TEntry('upper_id');
  35. $start_date = new TEntry('start_date');
  36. $responsible_id = new TEntry('responsible_id');
  37. $observation = new TEntry('observation');
  38. $active = new TEntry('active');
  39. $id->exitOnEnter();
  40. $code->exitOnEnter();
  41. //$type_id->exitOnEnter();
  42. $code_upper->exitOnEnter();
  43. $upper_id->exitOnEnter();
  44. $start_date->exitOnEnter();
  45. $responsible_id->exitOnEnter();
  46. $observation->exitOnEnter();
  47. $active->exitOnEnter();
  48. $id->setSize('100%');
  49. $code->setSize('100%');
  50. $system_unit_id->setSize('100%');
  51. $type_id->setSize('100%');
  52. $code_upper->setSize('100%');
  53. $upper_id->setSize('100%');
  54. $start_date->setSize('100%');
  55. $responsible_id->setSize('100%');
  56. $observation->setSize('100%');
  57. $active->setSize('100%');
  58. $id->tabindex = -1;
  59. $code->tabindex = -1;
  60. $system_unit_id->tabindex = -1;
  61. $type_id->tabindex = -1;
  62. $code_upper->tabindex = -1;
  63. $upper_id->tabindex = -1;
  64. $start_date->tabindex = -1;
  65. $responsible_id->tabindex = -1;
  66. $observation->tabindex = -1;
  67. $active->tabindex = -1;
  68. $id->setExitAction( new TAction([$this, 'onSearch'], ['static'=>'1']));
  69. $code->setExitAction( new TAction([$this, 'onSearch'], ['static'=>'1']));
  70. $system_unit_id->setChangeAction( new TAction([$this, 'onSearch'], ['static'=>'1']));
  71. $type_id->setChangeAction( new TAction([$this, 'onSearch'], ['static'=>'1']));
  72. //$type_id->setExitAction( new TAction([$this, 'onSearch'], ['static'=>'1']));
  73. $code_upper->setExitAction( new TAction([$this, 'onSearch'], ['static'=>'1']) );
  74. $upper_id->setExitAction( new TAction([$this, 'onSearch'], ['static'=>'1']) );
  75. $start_date->setExitAction( new TAction([$this, 'onSearch'], ['static'=>'1']) );
  76. $responsible_id->setExitAction( new TAction([$this, 'onSearch'], ['static'=>'1']) );
  77. $observation->setExitAction( new TAction([$this, 'onSearch'], ['static'=>'1']) );
  78. $active->setExitAction( new TAction([$this, 'onSearch'], ['static'=>'1']) );
  79. //creates a DataGrid
  80. $this->datagrid = new BootstrapDatagridWrapper(new TDataGrid);
  81. $this->datagrid->style = 'width: 100%';
  82. //$this->datagrid->enablePopover('Popover', 'Hi <b> {name} </b>');
  83. //creates the datagrid columns
  84. $column_id = new TDataGridColumn('id', '#', 'center');
  85. $column_code = new TDataGridColumn('code',_t('Code'), 'center');
  86. $column_system_unit_id = new TDataGridColumn('system_unit->name', _t('Unit'), 'left');
  87. $column_type_id = new TDataGridColumn('unit_type->name',_t('Type'), 'left');
  88. $column_code_upper = new TDataGridColumn('code_upper',_t('Code'), 'center');
  89. $column_upper_id = new TDataGridColumn('upper_unit->name', _t('Higher'), 'left');
  90. $column_start_date = new TDataGridColumn('start_date', 'Start Date', 'left');
  91. $column_responsible_id = new TDataGridColumn('responsible_id', 'Responsible', 'left');
  92. $column_observation = new TDataGridColumn('observation', 'Observation', 'left');
  93. $column_active = new TDataGridColumn('active',_t('Active'), 'center');
  94. //add the columns to the DataGrid
  95. $this->datagrid->addColumn($column_id);
  96. $this->datagrid->addColumn($column_code);
  97. $this->datagrid->addColumn($column_system_unit_id);
  98. $this->datagrid->addColumn($column_type_id);
  99. $this->datagrid->addColumn($column_code_upper);
  100. $this->datagrid->addColumn($column_upper_id);
  101. $this->datagrid->addColumn($column_start_date);
  102. $this->datagrid->addColumn($column_responsible_id);
  103. $this->datagrid->addColumn($column_observation);
  104. $this->datagrid->addColumn($column_active);
  105. //creates the datagrid column actions
  106. $column_id->setAction(new TAction([$this, 'onReload']), ['order' => 'id']);
  107. $column_code->setAction(new TAction([$this, 'onReload']), ['order' => 'code']);
  108. $column_system_unit_id->setAction(new TAction([$this, 'onReload']), ['order' => 'system_unit_id']);
  109. $column_type_id->setAction(new TAction([$this, 'onReload']), ['order' => 'type_id']);
  110. $column_code_upper->setAction(new TAction([$this, 'onReload']), ['order' => 'code_upper']);
  111. $column_upper_id->setAction(new TAction([$this, 'onReload']), ['order' => 'upper_id']);
  112. $column_start_date->setAction(new TAction([$this, 'onReload']), ['order' => 'start_date']);
  113. $column_responsible_id->setAction(new TAction([$this, 'onReload']), ['order' => 'responsible_id']);
  114. //define the transformer method over image
  115. $column_start_date->setTransformer( function($value, $object, $row) {
  116. if ($value)
  117. {
  118. try
  119. {
  120. $date = new DateTime($value);
  121. return $date->format('d/m/Y');
  122. }
  123. catch (Exception $e)
  124. {
  125. return $value;
  126. }
  127. }
  128. return $value;
  129. });
  130. $action1 = new TDataGridAction(['SgoUnits', 'onEdit'], ['id'=>'{id}']);
  131. $action2 = new TDataGridAction([$this, 'onDelete'], ['id'=>'{id}']);
  132. $action3 = new TDataGridAction(['FormResponsible', 'onSend'], ['id'=>'{id}']);
  133. $this->datagrid->addAction($action1, _t('Edit'), 'far:edit blue');
  134. $this->datagrid->addAction($action2 ,_t('Delete'), 'far:trash-alt red');
  135. $this->datagrid->addAction($action3 ,_t('Edit'), 'fa:plus green');
  136. //create the datagrid model
  137. $this->datagrid->createModel();
  138. //add datagrid inside form
  139. $this->form->add($this->datagrid);
  140. //create row with search inputs
  141. $tr = new TElement('tr');
  142. $this->datagrid->prependRow($tr);
  143. $tr->add( TElement::tag('td',''));
  144. $tr->add( TElement::tag('td',''));
  145. $tr->add( TElement::tag('td',''));
  146. $tr->add( TElement::tag('td', $id));
  147. $tr->add( TElement::tag('td', $code));
  148. $tr->add( TElement::tag('td', $system_unit_id));
  149. $tr->add( TElement::tag('td', $type_id));
  150. $tr->add( TElement::tag('td', $code_upper));
  151. $tr->add( TElement::tag('td', $upper_id));
  152. $tr->add( TElement::tag('td', $start_date));
  153. $tr->add( TElement::tag('td', $responsible_id));
  154. $tr->add( TElement::tag('td', $observation));
  155. $tr->add( TElement::tag('td', $active));
  156. $this->form->addField($id);
  157. $this->form->addField($code);
  158. $this->form->addField($system_unit_id);
  159. $this->form->addField($type_id);
  160. $this->form->addField($code_upper);
  161. $this->form->addField($upper_id);
  162. $this->form->addField($start_date);
  163. $this->form->addField($responsible_id);
  164. $this->form->addField($observation);
  165. $this->form->addField($active);
  166. //keep form filled
  167. $this->form->setData( TSession::getValue(__CLASS__.'_filter_data'));
  168. //create the page navigation
  169. $this->pageNavigation = new TPageNavigation;
  170. $this->pageNavigation->setAction(new TAction([$this, 'onReload']));
  171. $this->pageNavigation->enableCounters();
  172. $panel = new TPanelGroup(_t('Units'));
  173. //turn on horizontal scrolling inside panel body
  174. $panel->getBody()->style = "overflow-x:auto;";
  175. $panel->add($this->form);
  176. $panel->addFooter($this->pageNavigation);
  177. //header actions
  178. $dropdown = new TDropDown(_t('Export'), 'fa:list');
  179. $dropdown->setPullSide('right');
  180. $dropdown->setButtonClass('btn btn-default waves-effect dropdown-toggle');
  181. $dropdown->addAction( _t('Save as CSV'), new TAction([$this, 'onExportCSV'], ['register_state' => 'false', 'static'=>'1']), 'fa:table blue');
  182. $dropdown->addAction( _t('Save as PDF'), new TAction([$this, 'onExportPDF'], ['register_state' => 'false', 'static'=>'1']), 'far:file-pdf red');
  183. $dropdown->addAction( 'Save as XLS', new TAction([$this, 'onExportXLS'], ['register_state' => 'false', 'static'=>'1']), 'fa:file-excel fa-fw purple');
  184. $dropdown->addAction( 'Save as XML', new TAction([$this, 'onExportXML'], ['register_state' => 'false', 'static'=>'1']), 'fa:code fa-fw green');
  185. $panel->addHeaderWidget( $dropdown );
  186. $panel->addHeaderActionLink( _t('New'), new TAction(['SgoUnits', 'onEdit'], ['register_state' => 'false']), 'fa:plus green' );
  187. $panel->addHeaderActionLink(_t('Record Updated'),new TAction([__CLASS__, 'onReload'],['register_state' => 'false', 'static'=>'1']), 'fa:plus green' );
  188. //vertical box container
  189. $container = new TVBox;
  190. $container->style = 'width: 100%';
  191. //$container->add(new TXMLBreadCrumb('menu.xml', __CLASS__));
  192. $container->add($panel);
  193. parent::add($container);
  194. }
  195. }
  196. ?>


Editado 26/10/2022 (há 2 anos) - Clique para ver alterações

Curso Dominando o Adianti Framework

O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado!


Dominando o Adianti Framework Quero me inscrever agora!

Comentários (0)