/** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { $this->validate($request, ['nome' => 'required', 'email' => 'required', 'url' => 'url', 'endereco.logradouro' => 'required|min:3|max:150', 'endereco.bairro' => 'required|min:3|max:150', 'endereco.uf' => 'required', 'endereco.cidade_id' => 'required|exists:cidades,idCidade', 'endereco.localidade_id' => 'exists:localidades,idLocalidade', 'endereco.localizacao_id' => 'exists:localizacoes,idLocalizacao']); $endereco = Endereco::create($request['endereco']); if (Defender::hasRole('gestor')) { $request['usuario_id'] = Auth::user()->idUsuario; $instituicao = $endereco->instituicao()->create($request->all()); } else { $request['usuario_id'] = null; $instituicao = $endereco->instituicao()->create($request->all()); } foreach ($request['telefones'] as $telefone) { $instituicao->telefones()->create($telefone); } return $this->show($instituicao->idInstituicao); }
/** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { $this->validate($request, ['nome' => 'required|min:3|max:255', 'sigla' => 'min:2|max:10', 'tipo_id' => 'required|exists:iniciativaTipos,idTipo', 'endereco.logradouro' => 'required|min:3|max:150', 'endereco.bairro' => 'required|min:3|max:150', 'endereco.uf' => 'required', 'endereco.cidade_id' => 'required|exists:cidades,idCidade', 'endereco.latitude' => 'numeric', 'endereco.longitude' => 'numeric', 'endereco.localidade_id' => 'exists:localidades,idLocalidade', 'endereco.localizacao_id' => 'exists:localizacoes,idLocalizacao', 'naturezaJuridica_id' => 'exists:naturezasJuridicas,idNatureza', 'email' => 'required|email', 'url' => 'url', 'objetivo' => 'min:3|max:255', 'informacaoComplementar' => 'min:3|max:255', 'categoria_id' => 'required|exists:iniciativaCategorias,idCategoria', 'fonte' => 'required|min:3|max:255']); $endereco = Endereco::create($request['endereco']); $iniciativa = $endereco->iniciativa()->create($request->all()); foreach ($request['telefones'] as $telefone) { $iniciativa->telefones()->create($telefone); } if (count($request['instituicoes']) > 0) { $instituicoes = []; foreach ($request['instituicoes'] as $instituicao) { $instituicoes[$instituicao['idInstituicao']] = array('tipoVinculo' => $instituicao['tipoVinculo']); } $iniciativa->instituicoes()->sync($instituicoes); } $iniciativa->dimensoes()->sync($request['dimensoes']); return $this->show($iniciativa->idIniciativa); }
/** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { $this->validate($request, ['nome' => 'required|min:5', 'email' => 'required|email', 'url' => 'url', 'tipo_id' => 'exists:pidTipos,idTipo', 'endereco.logradouro' => 'required|min:3|max:150', 'endereco.bairro' => 'required|min:3|max:150', 'endereco.uf' => 'required', 'endereco.cidade_id' => 'required|exists:cidades,idCidade', 'endereco.latitude' => 'numeric', 'endereco.longitude' => 'numeric', 'endereco.localidade_id' => 'exists:localidades,idLocalidade', 'endereco.localizacao_id' => 'exists:localizacoes,idLocalizacao']); $endereco = Endereco::create($request['endereco']); $pid = $endereco->pid()->create($request->all()); foreach ($request['telefones'] as $telefone) { $pid->telefones()->create($telefone); } $instituicoes = []; foreach ($request['instituicoes'] as $instituicao) { $instituicoes[] = $instituicao['idInstituicao']; } $pid->instituicoes()->sync($instituicoes); $iniciativas = []; foreach ($request['iniciativas'] as $iniciativa) { $iniciativas[] = $iniciativa['idIniciativa']; } $pid->iniciativas()->sync($iniciativas); $pid->servicos()->sync($request['servicos']); return $this->show($pid->idPid); }