Jump to content
Fórum Script Brasil
  • 0

O período de apuração no MySQL e no Laravel


Frank K Hosaka

Question

Para eu conseguir o período de apuração no MySQL montei o seguinte view:

CREATE 
    ALGORITHM = UNDEFINED 
    DEFINER = `root`@`localhost` 
    SQL SECURITY DEFINER
VIEW `vw_apuracao` AS
    SELECT 
        DATE_FORMAT(`tbdiario`.`dia`, '%Y-%m') AS `apuracao`
    FROM
        `tbdiario`
    GROUP BY YEAR(`tbdiario`.`dia`) , MONTH(`tbdiario`.`dia`)
    ORDER BY `apuracao` DESC

O problema é que o Laravel não aceita esse recurso, assim eu crei uma nova consulta dentro do Controller, assim

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\tbdiario;
class DiarioController extends Controller {
 public function balancete(Request $requery){
  if($requery->input('apuracao')){
   $apuracao=tbdiario::orderBy('dia','desc')->get()->groupBy(function($data){
    return \Carbon\Carbon::parse($data->dia)->format('Y-m');});
   return view('apuracao',compact('apuracao'));}}}

O problema é que o resultado de $apuração não é apenas as apurações, mas toda a tabela tbdiario, onde as apurações aparecem como chave. O nome disso é Collections, eu acredito que é o mesmo conceito do JavaScript, quando a gente tenta ver o conteúdo de um elemento HTML através do console.log( ).

Assim, usei essa sintaxe para montar o apuração.blade.php:

<div style="width:25%;margin:0 auto">
<form>
<table>
@foreach($apuracao as $key=>$valor)
<td nowrap><button name=apuracao value={{$key}}>{{$key}}</button>
@php $mes=substr($key,5,2) @endphp
@if($mes=="01" || $mes=="07")
<tr>
@endif
@endforeach
</form></div>

Ou seja, o Laravel é como o HTML, o Javascript e o PHP. É só alegria, quando funciona.

 

Screenshot_1.png

Edited by Frank K Hosaka
Link to comment
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  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.



  • Forum Statistics

    • Total Topics
      152.1k
    • Total Posts
      651.9k
×
×
  • Create New...