PHP code example of gsferro / powermodel

1. Go to this page and download the library: Download gsferro/powermodel library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

gsferro / powermodel example snippets


    Use PowerModel;
    
 
    # original
    $model->created_at // 2021-12-16 12:00:00
    # sufixo
    $model->created_at_fdh // sufixo '_fdh' => 16/12/2021 12:00:00
    $model->created_at_dhi // sufixo '_dhi' => 16/12/2021 12:00
    $model->created_at_fmt // sufixo '_fmt' => 16/12/2021
    $model->created_at_fmy // sufixo '_fmy' => 16/12/21
    $model->created_at_fmr // sufixo '_fmr' => 12:00
    $model->created_at_rar // sufixo '_rar' => 12:00:00
    
 
    # original
    $model->cpf // 12345678900
    # sufixo
    $model->cpf_inc // sufixo '_inc' => 123.456.789-00
    
    # original
    $model->cnpj // 12345678901234
    # sufixo
    $model->cnpj_inc // sufixo '_inc' => 12.345.678/9012-34

    # original
    $model->cpf_cnpj // 12345678900 | 12345678901234
    # sufixo
    $model->cpf_cnpj_inc // sufixo '_inc' => 123.456.789-00 | 12.345.678/9012-34
    

    # original
    $model->valor_unitario // 12345.67
    # sufixo
    $model->valor_unitario_mbr // sufixo '_mbr' =>  12.345,67
    

    # original
    $model->valor_numerico // 1234567
    # sufixo
    $model->valor_numerico_nbr // sufixo '_nbr' =>  1.234.567
    

    # TODO pegar a configuração da mascara do e-mail via config
   
    # original
    $model->email // "[email protected]"
    # sufixo
    $model->email_msk // sufixo '_msk' =>  "f*****[email protected]"
   
    # Caso o campo não seja um email valido, devolvera o valor original:
    $model->email // "fulano#exemplo.com"
    # sufixo
    $model->email_msk // sufixo '_msk' =>  "fulano#exemplo.com"
    

    # original
    $model->status // "1"
    # sufixo
    $model->status_sai // sufixo '_sai' =>  "Ativo"
   
    # original
    $model->status // "0"
    # sufixo
    $model->status_sai // sufixo '_sai' =>  "inativo"
    

    # original
    $model->status // "1"
    # sufixo
    $model->status_ssn // sufixo `_ssn' =>  "Sim"
   
    # original
    $model->status // "0"
    # sufixo
    $model->status_ssn // sufixo '_ssn' =>  "Não"
    

    # original
    $model->status // "1"
    # sufixo
    $model->status_sed // sufixo `_sed' =>  "Habilitado"
   
    # original
    $model->status // "0"
    # sufixo
    $model->status_sed // sufixo '_sed' =>  "Desabilitado"
    

       # Para fins de demonstração na Model vc tem um Accessors que faz a soma utilizando um relacionamento
       public function getSumValorTotalEstimadoAttribute(): string
       {
           return $this->itens()->sum('valor_total_estimado') ?? 0.00;
       }
   
       # Invocando
       $model = Model::first();
       $model->sum_valor_total_estimado; // 123456.89
       $model->sum_valor_total_estimado_mbr; // 1.234.567,89
   

       # Para fins de demonstração na Model vc tem um relacionamento chamado itens
       # Invocando
       $model = Model::first();
       $model->itens_sum_valor_total_estimado; // 123456.89
       # e ainda utilizar a formatação com o sufixo
       $model->itens_sum_valor_total_estimado_mbr; // 1.234.567,89
   

       # Para fins de demonstração na Model vc tem um Accessors que faz o count utilizando um relacionamento
       public function getCountItensEstimadoAttribute(): string
       {
           return $this->itens()->count() ?? 0;
       }
   
       # Invocando
       $model = Model::first();
       $model->itens_count_relation; // 12345689
       $model->itens_count_relation_nbr; // 123.456.789
   

       # Para fins de demonstração na Model vc tem um relacionamento chamado itens
       # Invocando
       $model = Model::first();
       $model->itens_count_relation; // 12345689
       # e ainda utilizar a formatação com o sufixo
       $model->count_itens_nbr; // 123.456.789
   

    # Tinker
    >>> $model = Model::first()
    => {
        id: "1",
        created_at: "2021-12-10 15:19:20.697",
        updated_at: "2021-12-10 15:19:20.697",
      }
    $model->sum_valor_total_estimado; // 123456.89
    $model->sum_valor_total_estimado_mbr; // 1.234.567,89
   

    protected $appends = [
        'sum_valor_total_estimado',
        'sum_valor_total_estimado_mbr',
    ]; 

    # Tinker
    >>> $model = Model::first()
    => {
        id: "1",
        created_at: "2021-12-10 15:19:20.697",
        updated_at: "2021-12-10 15:19:20.697",
        +sum_valor_total_estimado: "123456.89",
        +sum_valor_total_estimado_mbr: "1.234.567,89",
      }
   

       protected $appends = [
           'sum_valor_total_estimado',
           'sum_valor_total_estimado_mbr',
           'itens_sum_valor_total_estimado',
           'itens_sum_valor_total_estimado_mbr',
       ]; 
   
       # Tinker
       >>> $model = Model::first()
       => {
           id: "1",
           created_at: "2021-12-10 15:19:20.697",
           updated_at: "2021-12-10 15:19:20.697",
           +sum_valor_total_estimado: "123456.89",
           +sum_valor_total_estimado_mbr: "1.234.567,89",
           +itens_sum_valor_total_estimado: "123456.89",
           +itens_sum_valor_total_estimado_mbr: "1.234.567,89",
         }