private function reportIniciativaDimensaoByCidade($cidade) { $dados = \Lava::DataTable(); $dados->addStringColumn('Dimensões')->addNumberColumn('Qtd'); $dimensoes = Dimensao::all(); foreach ($dimensoes as $dm) { $qt = DB::table('iniciativas')->join('enderecos', 'iniciativas.endereco_id', '=', 'enderecos.idEndereco')->where('enderecos.cidade_id', $cidade)->whereRaw('iniciativas.idIniciativa IN (SELECT iniciativa_id FROM iniciativa_dimensoes WHERE dimensao_id =' . $dm->idDimensao . ' )')->count(); $dados->addRow([$dm->dimensao, $qt]); } $qt = DB::table('iniciativas')->join('enderecos', 'iniciativas.endereco_id', '=', 'enderecos.idEndereco')->where('enderecos.cidade_id', $cidade)->whereRaw('iniciativas.idIniciativa NOT IN (SELECT iniciativa_id FROM iniciativa_dimensoes)')->count(); $dados->addRow(['Nenhum', $qt]); return $dados; }
/** * Show the form for editing the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function edit($id) { if (Defender::hasRole('gestor')) { if (Auth::user()->iniciativa_id != $id) { abort(401, 'Unauthorized action.'); } } $uf = DB::table('uf')->orderBy('uf')->lists('uf', 'idUf'); $localidades = DB::table('localidades')->orderBy('localidade')->lists('localidade', 'idLocalidade'); $localizacoes = DB::table('localizacoes')->orderBy('localizacao')->lists('localizacao', 'idLocalizacao'); $naturezasJuridicas = DB::table('naturezasJuridicas')->orderBy('naturezaJuridica')->lists('naturezaJuridica', 'idNatureza'); $telefoneTipos = DB::table('telefoneTipos')->orderBy('tipo')->lists('tipo', 'idTipo'); $dimensoes = Dimensao::all()->lists('dimensao', 'idDimensao'); return view('iniciativas.edit', compact('uf', 'localidades', 'localizacoes', 'naturezasJuridicas', 'telefoneTipos', 'dimensoes')); }