/** * Define the application's command schedule. * * @param \Illuminate\Console\Scheduling\Schedule $schedule * @return void */ protected function schedule(Schedule $schedule) { $schedule->call(function () { $hoje = getdate(); $hoje2 = $hoje['year'] . '-' . $hoje['mon'] . '-' . $hoje['mday']; $acoes = DB::table('acaos')->where('data_sorteio', '=', $hoje2)->where('numrifado', null)->get(); Log::info("antes"); foreach ($acoes as $acoes) { $rifas = DB::table('acaos')->join('rifas', 'acaos.id', '=', 'rifas.acao_id')->where('rifas.acao_id', $acoes->id)->whereNotNull('rifas.user_id')->where('acaos.data_sorteio', '=', $hoje2)->get(); $sorteado = array_rand($rifas, 1); //variavel com uma posição randomica do array Log::info("depois"); $numero = $rifas[$sorteado]; //rifa especifica do array com a posição sorteada $acao = Acao::find($acoes->id); $acao->numrifado = $numero->nome_rifa; //atualiza campo de numero rifado da tabele acaos Log::info($numero->user_id); $acao->winner_id = $numero->user_id; //atualiza o campo id do vencedor em acaos // Log::info($acao); $acao->save(); } })->everyMinute(); }
/** * Display a listing of the resource. * * @return \Illuminate\Http\Response */ public function index() { //Obtem todas as acoes para serem listadas $acaos = Acao::all(); return view('acaos', compact('acaos')); }
public function checkout($id) { $acao = Acao::find($id); $aux = Rifa::find($_POST['checkbox'])->where('user_id', NULL); $checkboxCount = count($aux); if ($checkboxCount == 0) { return back(); } $rifasstr = ''; $rifas = ''; $key = $checkboxCount; $total = number_format($acao->valor_rifa * $checkboxCount, 2); foreach ($aux as $rifa) { if ($key > 1) { $rifasstr .= $rifa->nome_rifa . ","; $rifas .= $rifa->id . ","; $key--; } else { $rifasstr .= $rifa->nome_rifa; $rifas .= $rifa->id; } } return view('checkout', compact('acao', 'checkboxCount', 'rifasstr', 'rifas', 'total')); }