Conheça  A Ferramenta LowCode mais moderna e veloz para desenvolvimento PHP: Adianti Creator
Uso de combo dinâmica Saudações pessoal... Preciso da vossa ajuda, pretendo usar uma combo dinâmica, estou a seguir conforme mostra no tutor mais ao executar na a partir do meu project está mostrar esta mensagem de erro conforme mostra a imagem a baixo: Segue o código. ...
AE
Uso de combo dinâmica  
Saudações pessoal... Preciso da vossa ajuda, pretendo usar uma combo dinâmica, estou a seguir conforme mostra no tutor mais ao executar na a partir do meu project está mostrar esta mensagem de erro conforme mostra a imagem a baixo:

Segue o código.

 
  1. <?php
  2. $filter = new TCriteria;
  3. $filter->add(new TFilter('codigo', '<', '0'));
  4. //$$codigo_prestador= new TDBCombo('codigo_prestador', 'sgs', 'Prestador', 'codigo', 'designacao', $filter);
  5. $codigo_medico = new TDBCombo('codigo_medico', 'sgs', 'Medico', 'codigo', 'designacao',$filter);
  6. public static function onChangeMedico($param)
  7. {
  8. try
  9. {
  10. TTransaction::open('sgs');
  11. $repo = new TRepository('MedicoPrestador');
  12. $criteria = new TCriteria;
  13. if (!empty($param['codigo_prestador']))
  14. {
  15. $criteria = TCriteria::create( ['codigo_prestador' => $param['codigo_prestador'] ] );
  16. //$criteria->add(new TFilter('codigo_prestador','=',$param['codigo_prestador']));
  17. //$medicos = $repo->load($criteria);
  18. // formname, field, database, model, key, value, ordercolumn = NULL, criteria = NULL, startEmpty = FALSE
  19. TDBCombo::reloadFromModel('form_Sinistro', 'codigo_medico', 'sgs', 'Medico', 'codigo', '{nome} ({codigo})', 'nome', $criteria, TRUE);
  20. }
  21. else
  22. {
  23. TCombo::clearField('form_Sinistro', 'codigo_medico');
  24. }
  25. TTransaction::close();
  26. }
  27. catch (Exception $e)
  28. {
  29. new TMessage('error', $e->getMessage());
  30. }
  31. }
  32. ?>

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 (6)


NR

O problema está no primeiro TDBCombo, você não informou o parâmetro "$ordercolumn":
 
  1. <?php
  2. /**
  3. * Class Constructor
  4. * @param $name widget's name
  5. * @param $database database name
  6. * @param $model model class name
  7. * @param $key table field to be used as key in the combo
  8. * @param $value table field to be listed in the combo
  9. * @param $ordercolumn column to order the fields (optional)
  10. * @param $criteria criteria (TCriteria object) to filter the model (optional)
  11. */
  12. // public function __construct($name, $database, $model, $key, $value, $ordercolumn = NULL, TCriteria $criteria = NULL)
  13. $codigo_medico = new TDBCombo('codigo_medico', 'sgs', 'Medico', 'codigo', 'designacao',$filter);
  14. ?>
AE

Nataniel Rabaioli, queira por favor enviar de como seria o código? Desde já agradeço...
AE

Em que parte do código insiro este parâmetro!
NR

 
  1. <?php
  2. $codigo_medico = new TDBCombo('codigo_medico', 'sgs', 'Medico', 'codigo', 'designacao','designacao',$filter);
  3. ?>
AE

Nataniel Rabaioli obrigado por tudo, deu tudo certo, continua assim ajudando a crescer a comunidade do adianti...
AE

Nataniel Rabaioli, estou a desenvolver um sistema de gestão de sinistro de saúde é um project final de curso, já estou na reta final, mas gostaria que me ajudasses em algumas validações a nível do sistema que está a dar um quebra cabeça... Espero um feedback, desde já agradeço...