Conheça as melhorias da versão 8.0, 8.1, 8.2!
Clique aqui para saber mais
Consumir Api Externa em laravel com Adianti Olá boa tarde. Estou precisando de um exemplo de como consumir dados de uma api externa em laravel. Já pesquisei aqui no forum e não existe nenhum exemplo que eu possa consultar. Preciso jogar dados da api em uma grid e sei que pra isso eu vou porecisar usar ajax dentro do adianti... A minha pergunta é como fazer isso ? no adianti as coisas não são tão facil assim... Nem no curso das video ...
PS
Consumir Api Externa em laravel com Adianti  
Olá boa tarde. Estou precisando de um exemplo de como consumir dados de uma api externa em laravel. Já pesquisei aqui no forum e não existe nenhum exemplo que eu possa consultar. Preciso jogar dados da api em uma grid e sei que pra isso eu vou porecisar usar ajax dentro do adianti... A minha pergunta é como fazer isso ? no adianti as coisas não são tão facil assim... Nem no curso das video aulas não temos exemplos desse tipo. Alguém por favor pode me ajudar com exemplos desse tipo de chamada ? Lembrando que eu não vou usar banco de dados no adianti, minha intenção é manipular dados em outra api usando os verbos http

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


FC

segue um exemplo de polular datagrid com json

 
  1. <?php
  2. class ParseJson extends TPage
  3. {
  4. private $datagrid;
  5. public function __construct()
  6. {
  7. parent::__construct();
  8. // creates one datagrid
  9. $this->datagrid = new BootstrapDatagridWrapper(new TQuickGrid);
  10. // add the columns
  11. $this->datagrid->addQuickColumn('Id', 'id', 'center', 50);
  12. $this->datagrid->addQuickColumn('Nome', 'name', 'left', 350);
  13. $this->datagrid->addQuickColumn('Email', 'email', 'left', 150);
  14. // creates the datagrid model
  15. $this->datagrid->createModel();
  16. // create the page navigation
  17. $this->pageNavigation = new TPageNavigation;
  18. $this->pageNavigation->setAction(new TAction(array($this, 'onReload')));
  19. $this->pageNavigation->setWidth($this->datagrid->getWidth());
  20. $panel = new TPanelGroup('Titulo');
  21. $panel->add($this->datagrid)->style = 'overflow-x:auto';
  22. // creates the action button
  23. $panel->addHeaderActionLink( 'Save', new TAction([$this, 'onSave'], ['register_state' => 'false']), 'far:file-pdf red' );
  24. $back_action = new TAction(array($this, 'onSave'));
  25. $back = new TActionLink('Enviar', $back_action, 'black', null, null, 'far:file-pdf red');
  26. $back->addStyleClass('btn btn-default btn-sm');
  27. // wrap the page content using vertical box
  28. $panel->addFooter($back);
  29. $vbox = new TVBox;
  30. //$vbox->add(new TXMLBreadCrumb('menu.xml', __CLASS__));
  31. $vbox->add($panel);
  32. $vbox->add($this->pageNavigation);
  33. parent::add($vbox);
  34. }
  35. /**
  36. * Load the data into the datagrid
  37. */
  38. function onReload()
  39. {
  40. $this->datagrid->clear();
  41. try
  42. {
  43. $location = file_get_contents('https://jsonplaceholder.typicode.com/users/');
  44. $dados = json_decode($location,false);
  45. //var_dump($dados);
  46. if (!empty($dados))
  47. {
  48. $itens = array();
  49. foreach ($dados as $k => $v ) {
  50. $itens[$k] = $v;
  51. }
  52. foreach($itens as $i){
  53. $this->datagrid->addItem($i);
  54. }
  55. }
  56. }
  57. catch (Exception $e)
  58. {
  59. echo 'Error: '. $e->getMessage();
  60. }
  61. }
  62. public function onSave($param)
  63. {
  64. echo '<pre>';
  65. print_r($this->datagrid->getOutputData());
  66. echo '</pre>';
  67. foreach ($this->datagrid->getOutputData()[2] as $valor)
  68. {
  69. echo $valor;
  70. }
  71. }
  72. /**
  73. * shows the page
  74. */
  75. function show()
  76. {
  77. $this->onReload();
  78. parent::show();
  79. }
  80. }
  81. ?>