Ir para conteúdo
  • ×   Você colou conteúdo com formatação.   Remover formatação

      Only 75 emoji are allowed.

    ×   Your link has been automatically embedded.   Display as a link instead

    ×   Your previous content has been restored.   Clear editor

    ×   You cannot paste images directly. Upload or insert images from URL.

  • Conteúdo Similar

    • Por ckcesar
      Pesoal  eu instalei o Laravel em meu pc, mais ao rodar estou enfrentando um erro de permissão. 
      Eu segui os passas da documentação => https://laravel.com/docs/9.x#getting-started-on-windows
       
      Ao entrar no localhost ele retorna esse erro. A lembrando que no docker ele inicial certinho o mysql roda ok, é somente essa pasta storege. Estou tentando resolver mais tudo que eu faço não funfa, estou dando permissão nas pastas, já mudei o arquivo .env e nada.
       
      The stream or file "/var/www/html/storage/logs/laravel.log" could not be opened in append mode: Failed to open stream: Permission denied The exception occurred while attempting to log: The stream or file "/var/www/html/storage/logs/laravel.log" 
       

    • Por joeythai
      Boa tarde pessoal,
       
      Eu tenho um foreach que está me trazendo apenas um resultado a partir de uma consulta, mas na verdade tem que me retornar 10 itens:
      <code>
      public function getBillsUnpaid($date)
      {
      $results = [];
      $numberBills = $this->lotModel->select(DB::RAW("
      Lotes.ID AS Lote_ID,
      Compradores.ID as Comprador_ID,
      Compradores.CompradorWeb_ID,
      Compradores.NM as NM_Comprador,
      Lotes.Leilao_ID as Leilao_ID,
      Lotes.NU as NU_Lote,
      FORMAT(lotes.DT_VenctoBoleto, 'yyyy-MM-dd') as DT_VenctoBoleto,
      REPLACE(
      (CASE
      WHEN
      LEN(LTRIM(RTRIM(ISNULL(Compradores.NM_DDDCel,'')))) > 0 AND
      LEN(LTRIM(RTRIM(ISNULL(Compradores.NM_Celular,'')))) > 0
      THEN CONCAT(
      LTRIM(RTRIM(Compradores.NM_DDDCel)),'',
      LTRIM(RTRIM(Compradores.NM_Celular))
      )
      WHEN
      LEN(LTRIM(RTRIM(ISNULL(Compradores.NM_DDDTel,'')))) > 0 AND
      LEN(LTRIM(RTRIM(ISNULL(Compradores.NM_Telefone,'')))) > 0
      THEN CONCAT(
      LTRIM(RTRIM(Compradores.NM_DDDTel)),'',
      LTRIM(RTRIM(Compradores.NM_Telefone))
      )
      ELSE ''
      END)
      ,'-', '') AS NM_Celular,
      Lotes.VL_Venda,
      ISNULL(Lotes.VL_Cobranca, 0) as VL_Cobranca,
      ISNULL((
      SELECT SUM(VL_Cobertura)
      FROM LotesXPagamentos
      WHERE Lote_ID = lotes.ID
      AND Pagamento_ID IS NOT NULL
      ), 0) as VL_Pago,
      CONCAT(Lotes.NM_Descricao, '', Lotes.MM_ExtDescricao) as NM_Descricao
      "))
      ->join('Leiloes', 'Leiloes.ID', '=', 'Lotes.Leilao_ID')
      ->join('Compradores', 'Compradores.ID', '=', 'Lotes.Comprador_ID')
      ->where('Lotes.ST_Lote', 3)
      ->where('Lotes.DT_VenctoBoleto', '>', '2021-03-01')
      ->whereRaw("
      ISNULL((
      SELECT SUM(VL_Cobertura)
      FROM LotesXPagamentos
      WHERE Lote_ID = Lotes.ID
      AND Pagamento_ID IS NOT NULL
      ), 0) = 0")
      ->orderBy('Lotes.NU')
      ->take(10)
      ->get();
      if(count($numberBills) > 0){
      foreach($numberBills as $bills){
      $results['CompradorWeb_ID'] = $bills->CompradorWeb_ID;
      $results['DT_VenctoBoleto'] = $bills->DT_VenctoBoleto;
      $results['VL_Cobranca'] = $bills->VL_Cobranca;
      $results['Lote_ID'] = $bills->Lote_ID;
      $results['Comprador_ID'] = $bills->Comprador_ID;
      $results['NM_Comprador'] = $bills->NM_Comprador;
      $results['NM_Descricao'] = $bills->NM_Descricao;
      $results['VL_Pago'] = $bills->VL_Pago;
      $results['NU_Lote'] = $bills->NU_Lote;
      $results['Leilao_ID'] = $bills->Leilao_ID;
      $phones = $this->getPhoneUsers($bills->CompradorWeb_ID);
      $results['NM_Celular'] = (!is_null(@$phones->fone_celular)) ? $phones->fone_celular : $bills->NM_Celular;
      return $results;
      }
      }
      }
      </code>
       
      Se eu retorno somente a variavel $numberBills, ele me traz o resultado certinho, porém, eu não posso retornar essa variavel pq preciso pegar o resultado dela e chamar a minha outra função que faz conexão com outra base de dados e por isso eu criei esse array result, percebam que o numero do telefone vai vir da minha tabela A(função que pega o telefone) e caso não tenha o telefone nela, eu pego o numero da tabela B(resultado dessa query) porem qdo do return $results, so me retorna o primeiro registro, o que estou fazendo de errado ?
    • Por joeythai
      Boa tarde pessoal,
       
      Eu tenho um foreach que está me trazendo apenas um resultado a partir de uma consulta, mas na verdade tem que me retornar 10 itens:
      <code>
      public function getBillsUnpaid($date)
      {
      $results = [];
      $numberBills = $this->lotModel->select(DB::RAW("
      Lotes.ID AS Lote_ID,
      Compradores.ID as Comprador_ID,
      Compradores.CompradorWeb_ID,
      Compradores.NM as NM_Comprador,
      Lotes.Leilao_ID as Leilao_ID,
      Lotes.NU as NU_Lote,
      FORMAT(lotes.DT_VenctoBoleto, 'yyyy-MM-dd') as DT_VenctoBoleto,
      REPLACE(
      (CASE
      WHEN
      LEN(LTRIM(RTRIM(ISNULL(Compradores.NM_DDDCel,'')))) > 0 AND
      LEN(LTRIM(RTRIM(ISNULL(Compradores.NM_Celular,'')))) > 0
      THEN CONCAT(
      LTRIM(RTRIM(Compradores.NM_DDDCel)),'',
      LTRIM(RTRIM(Compradores.NM_Celular))
      )
      WHEN
      LEN(LTRIM(RTRIM(ISNULL(Compradores.NM_DDDTel,'')))) > 0 AND
      LEN(LTRIM(RTRIM(ISNULL(Compradores.NM_Telefone,'')))) > 0
      THEN CONCAT(
      LTRIM(RTRIM(Compradores.NM_DDDTel)),'',
      LTRIM(RTRIM(Compradores.NM_Telefone))
      )
      ELSE ''
      END)
      ,'-', '') AS NM_Celular,
      Lotes.VL_Venda,
      ISNULL(Lotes.VL_Cobranca, 0) as VL_Cobranca,
      ISNULL((
      SELECT SUM(VL_Cobertura)
      FROM LotesXPagamentos
      WHERE Lote_ID = lotes.ID
      AND Pagamento_ID IS NOT NULL
      ), 0) as VL_Pago,
      CONCAT(Lotes.NM_Descricao, '', Lotes.MM_ExtDescricao) as NM_Descricao
      "))
      ->join('Leiloes', 'Leiloes.ID', '=', 'Lotes.Leilao_ID')
      ->join('Compradores', 'Compradores.ID', '=', 'Lotes.Comprador_ID')
      ->where('Lotes.ST_Lote', 3)
      ->where('Lotes.DT_VenctoBoleto', '>', '2021-03-01')
      ->whereRaw("
      ISNULL((
      SELECT SUM(VL_Cobertura)
      FROM LotesXPagamentos
      WHERE Lote_ID = Lotes.ID
      AND Pagamento_ID IS NOT NULL
      ), 0) = 0")
      ->orderBy('Lotes.NU')
      ->take(10)
      ->get();
      if(count($numberBills) > 0){
      foreach($numberBills as $bills){
      $results['CompradorWeb_ID'] = $bills->CompradorWeb_ID;
      $results['DT_VenctoBoleto'] = $bills->DT_VenctoBoleto;
      $results['VL_Cobranca'] = $bills->VL_Cobranca;
      $results['Lote_ID'] = $bills->Lote_ID;
      $results['Comprador_ID'] = $bills->Comprador_ID;
      $results['NM_Comprador'] = $bills->NM_Comprador;
      $results['NM_Descricao'] = $bills->NM_Descricao;
      $results['VL_Pago'] = $bills->VL_Pago;
      $results['NU_Lote'] = $bills->NU_Lote;
      $results['Leilao_ID'] = $bills->Leilao_ID;
      $phones = $this->getPhoneUsers($bills->CompradorWeb_ID);
      $results['NM_Celular'] = (!is_null(@$phones->fone_celular)) ? $phones->fone_celular : $bills->NM_Celular;
      return $results;
      }
      }
      }
      </code>
       
      Se eu retorno somente a variavel $numberBills, ele me traz o resultado certinho, porém, eu não posso retornar essa variavel pq preciso pegar o resultado dela e chamar a minha outra função que faz conexão com outra base de dados e por isso eu criei esse array result, percebam que o numero do telefone vai vir da minha tabela A(função que pega o telefone) e caso não tenha o telefone nela, eu pego o numero da tabela B(resultado dessa query) porem qdo do return $results, so me retorna o primeiro registro, o que estou fazendo de errado ?
       
    • Por zanoth
      Salve galera,
       
      sou novo no fórum, saudacoes a todos.
       
      Tenho um formulario em blade:
       
      <form action="{{url('request-action')}}" method="post"> Uma rota:
       
      Route::post('request-action', [Controllers\MainController::class, 'validator']);  
      E um Controller, com a funcao:
      public function validator(Request $request) { $data = $request->validate([ 'name' => 'required|max:255', 'email' => 'sometimes|email', 'phone' => 'required|max:255', 'units' => 'required', 'done' => 'required', ]); tap(new Clients($data))->save(); $id = DB::table('clients')->where('email', '=', $request->email); var_dump($id); //DEBUG for($i = 0; $i < $request->units; $i++) { $banch = file(storage_path('tickets.txt')); $len_banch = count($banch); $rand = rand(0, $len_banch-1); $got = $banch[$rand]; unset($banch[$rand]); $file = fopen(storage_path('tickets.txt'), "w"); ftruncate($file, sizeof($banch)); file_put_contents(storage_path('tickets.txt'), $banch); fclose($file); $tickets->token = $got; $tickets->id = $id; $tickets->save(); } fclose($file);*/ return redirect('success'); }  
      Quero que o formulario seja validado e os dados sejam salvos no bd. Nessa funcao instancio dois modelos, um deles levando o valor de um indice automatico do outro. (em $tickets->id = $id;). Em uma pesquisa rapida descobri a classe DB (Illuminate\Support\Facades\DB), mas sem resultado, considerando que esse valor é gerado no ato da interacao com o Postgres (no meu caso).
      Qual seria a melhor de maneira para traze-lo?
       
      Com relacao aos logs, a principio uma inconsistencia relacionada a variavel $id foi retornada pelo debugger, porem agora nem sequer o debugger é chamado, em decorrencia de um loop infinito aparentemente (pagina sendo carregada… etc etc). A que se deve tal comportamento?
       
      Seguindo os exemplos dos corteses, crio esse post. Ja se isso for mentira, obra do diabo ou de alguma sociedade secreta que o serve, que alguem fale agora ou cale-se para sempre, por favor. Estes sxerao castigados, vencida a ilusao da vida.
       
      Uma outra duvida seria em relacao ao real funcionamento da funcao (helper) 'tap', nao encontro documentacoes ou manuais tecnicos em essencia,
       
       
      mas informacoes textuais ou artigos, que facilitam a abstracao.
       
      Valeu desde já.
       
    • Por fernandomullerjr
      Oi Pessoal,
      bom dia.
      Estou tentando obter os logs do Laravel através do stdout do meu Container PHP, mas quando eu simulo um erro dentro do Container via php artisan ele não é mostrado no stdout do container:
      ``` 
      fernando@c64d676157c2:/var/www$ php artisan command5
      Command "command5" is not defined.  
      fernando@c64d676157c2:/var/www$ 
      ```
      O erro é escrito no log do Laravel:
      ``` 
      fernando@c64d676157c2:/var/www$ tail storage/logs/laravel.log
      "} 
      [2022-02-22 12:43:52] dev.ERROR: Command "command5" is not defined. {"exception":"[object] (Symfony\\Component\\Console\\Exception\\CommandNotFoundException(code: 0): Command \"command5\" is not defined. at /var/www/vendor/symfony/console/Application.php:644)
      [stacktrace]
      #0 /var/www/vendor/symfony/console/Application.php(228): Symfony\\Component\\Console\\Application->find('command5')
      #1 /var/www/vendor/symfony/console/Application.php(140): Symfony\\Component\\Console\\Application->doRun(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
      #2 /var/www/vendor/laravel/framework/src/Illuminate/Console/Application.php(93): Symfony\\Component\\Console\\Application->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
      #3 /var/www/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(129): Illuminate\\Console\\Application->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
      #4 /var/www/artisan(37): Illuminate\\Foundation\\Console\\Kernel->handle(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
      #5 {main}
      "} 
      fernando@c64d676157c2:/var/www$ 
      ```

      Mas o erro não é mostrado no stdout do Container PHP:
      ``` 
      fernando@notebookdell-1487   /lab/treinamento/travellist-laravel-demo     main   docker logs -f travellist-app                                                               SIGINT(2) ↵  10345  09:44:30  
      [22-Feb-2022 12:40:57] NOTICE: [pool www] 'user' directive is ignored when FPM is not running as root
      [22-Feb-2022 12:40:57] NOTICE: [pool www] 'user' directive is ignored when FPM is not running as root
      [22-Feb-2022 12:40:57] NOTICE: [pool www] 'group' directive is ignored when FPM is not running as root
      [22-Feb-2022 12:40:57] NOTICE: [pool www] 'group' directive is ignored when FPM is not running as root
      [22-Feb-2022 12:40:57] NOTICE: fpm is running, pid 1
      [22-Feb-2022 12:40:57] NOTICE: ready to handle connections
      ```
      Eu tentei diversas combinações de configurações do php.ini file, config/logging.php, LOG_CHANNEL  do ".env",  diversas opções de configuração do stack e muito mais.
      Eu estou usando o PHP na versão 7.4.28.
      laravel/framework v7.11.0
      Composer version 2.2.6
      **O projeto foi clonado do Github:**
      https://github.com/do-community/travellist-laravel-demo

      Todos os containers estão up e rodando conforme o esperado:
      ```
      fernando@notebookdell-1487   /lab/treinamento/travellist-laravel-demo     main   docker container ls                                                                                     10344  09:40:58  
      CONTAINER ID   IMAGE          COMMAND                  CREATED         STATUS         PORTS                                   NAMES
      c64d676157c2   travellist     "docker-php-entrypoi…"   5 seconds ago   Up 3 seconds   9000/tcp                                travellist-app
      2995a82595f7   mysql:5.7      "docker-entrypoint.s…"   5 seconds ago   Up 3 seconds   3306/tcp, 33060/tcp                     travellist-db
      736ede87e337   nginx:alpine   "/docker-entrypoint.…"   5 seconds ago   Up 3 seconds   0.0.0.0:8000->80/tcp, :::8000->80/tcp   travellist-nginx
       fernando@notebookdell-1487   /lab/treinamento/travellist-laravel-demo     main                                                                                                           10345  09:41:01  
      ```

      Como eu posso obter os logs do Laravel através do stdout do meu container no Docker?
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.