Ejemplo n.º 1
0
 public static function boot()
 {
     parent::boot();
     // Setup event bindings...
     Balance::saving(function ($balance) {
         $balance->user_id = Auth::id();
         return $balance;
     });
     $user_id = Auth::id();
     $balance = Balance::where('user_id', $user_id)->orderBy('id', 'DESC')->first();
     if (count($balance) > 0) {
         $date = Carbon::createFromFormat('Y-m-d H:i:s', $balance->created_at);
         if ($date->isToday()) {
             // Deixa como está.
         } else {
             // Cria o pro=imeiro registro
             $todayAmount = DB::table('transactions')->where('created_at', '>', date("Y-m-d") . " 00:00:00")->where('created_at', '<=', date('Y-m-d H:i:s'))->where('user_id', Auth::id())->where('done', 1)->sum('amount');
             $newAmount = $balance->amount + $todayAmount;
             // Cria um novo pro dia de hoje
             $balance = Balance::create(['amount' => $newAmount, 'user_id' => $user_id]);
         }
     } else {
         // Cria o pro=imeiro registro
         $amount = DB::table('transactions')->where('created_at', '<=', date('Y-m-d H:i:s'))->where('user_id', Auth::id())->where('done', 1)->sum('amount');
         $balance = Balance::create(['amount' => $amount, 'user_id' => $user_id]);
     }
 }