function ($query) use ($idUnidade) { $query->where('unidade_id', $idUnidade); }, 'microarea:id,area_id', 'lazer:id', 'animal:id' ]; $cadastrosDomiciliares = CadastroDomiciliar::with($vinculos) ->where(function ($query) use ($idEquipe, $exibirForaArea) { if ($exibirForaArea == 1) { $query->whereNull('equipe_id'); $query->orWhere('equipe_id', $idEquipe); } else { $query->where('equipe_id', $idEquipe); } }) ->where('microarea_id', $idMicoarea) ->get() ->map(function ($cadastroDomiciliar) { $domicilioId = $cadastroDomiciliar->domicilio->id ?? null; $domicilioEnderecoId = $cadastroDomiciliar->domicilio->endereco->id ?? null; $domicilioEnderecoNumero = $cadastroDomiciliar->domicilio->endereco->numero ?? null; $domicilioEnderecoComplemento = $cadastroDomiciliar->domicilio->endereco->complemento ?? null; $domicilioEnderecoSemNumero = $cadastroDomiciliar->domicilio->endereco->sem_numero ?? null; $loteamento = $cadastroDomiciliar->domicilio->loteamento->nome ?? null; $loteamentoId = $cadastroDomiciliar->domicilio->loteamento->id ?? null; $logradouroId = $cadastroDomiciliar->domicilio->endereco->logradouro->id ?? null; $logradouroTipoId = $cadastroDomiciliar->domicilio->endereco->logradouro->tipo->id ?? null; $bairroId = $cadastroDomiciliar->domicilio->endereco->logradouro->bairro->id ?? null; $cep = $cadastroDomiciliar->domicilio->endereco->logradouro->cep ?? null; $latitude = $cadastroDomiciliar->domicilio->endereco->latitude ?? null; $longitude = $cadastroDomiciliar->domicilio->endereco->longitude ?? null; $areaId = $cadastroDomiciliar->microarea->area_id ?? null; unset($cadastroDomiciliar->microarea); unset($cadastroDomiciliar->domicilio); return [ 'id' => $cadastroDomiciliar->id, 'area_id' => $areaId, 'microarea_id' => $cadastroDomiciliar->microarea_id, 'fora_area' => $cadastroDomiciliar->fora_area, 'instituicao_nome' => $cadastroDomiciliar->instituicao_nome, 'instituicao_nome_responsavel_tecnico' => $cadastroDomiciliar->instituicao_nome_responsavel_tecnico, 'instituicao_cns_responsavel_tecnico' => $cadastroDomiciliar->instituicao_cns_responsavel_tecnico, 'instituicao_cargo_responsavel_tecnico' => $cadastroDomiciliar->instituicao_cargo_responsavel_tecnico, 'instituicao_telefone_responsavel_tecnico' => $cadastroDomiciliar->instituicao_telefone_responsavel_tecnico, 'imovel_tipo_id' => $cadastroDomiciliar->imovel_tipo_id, 'situacao_domicilio_id' => $cadastroDomiciliar->situacao_domicilio_id, 'domicilio_tipo_id' => $cadastroDomiciliar->domicilio_tipo_id, 'quantidade_comodos' => $cadastroDomiciliar->quantidade_comodos, 'situacao_rural_id' => $cadastroDomiciliar->situacao_rural_id, 'domicilio_zona_id' => $cadastroDomiciliar->domicilio_zona_id, 'domicilio_tipo_acesso_id' => $cadastroDomiciliar->domicilio_tipo_acesso_id, 'material_predominante_id' => $cadastroDomiciliar->material_predominante_id, 'abastecimento_id' => $cadastroDomiciliar->abastecimento_id, 'tratamento_id' => $cadastroDomiciliar->tratamento_id, 'destino_lixo_id' => $cadastroDomiciliar->destino_lixo_id, 'forma_escoamento_id' => $cadastroDomiciliar->forma_escoamento_id, 'possui_animais' => $cadastroDomiciliar->possui_animais, 'energia_eletrica' => $cadastroDomiciliar->energia_eletrica, 'quantidade_animais' => $cadastroDomiciliar->quantidade_animais, 'usuario_id' => $cadastroDomiciliar->usuario_id, 'equipe_id' => $cadastroDomiciliar->equipe_id, 'usuario_ocupacao_id' => $cadastroDomiciliar->usuario_ocupacao_id, 'data_usuario_responsavel' => $cadastroDomiciliar->data_usuario_responsavel, 'escala_coelho_id' => $cadastroDomiciliar->escala_coelho_id, 'higiene_residencial_id' => $cadastroDomiciliar->higiene_residencial_id, 'bolsa_familia' => $cadastroDomiciliar->bolsa_familia, 'vale_gas' => $cadastroDomiciliar->vale_gas, 'bolsa_escola' => $cadastroDomiciliar->bolsa_escola, 'bpc' => $cadastroDomiciliar->bpc, 'recusa_cadastro' => $cadastroDomiciliar->recusa_cadastro, 'domicilio_id' => $domicilioId, 'domicilio_endereco_id' => $domicilioEnderecoId, 'domicilio_endereco_numero' => $domicilioEnderecoNumero, 'domicilio_endereco_complemento' => $domicilioEnderecoComplemento, 'domicilio_endereco_sem_numero' => $domicilioEnderecoSemNumero, 'loteamento' => $loteamento, 'loteamento_id' => $loteamentoId, 'lazer' => $cadastroDomiciliar->lazer->pluck('id'), 'animal' => $cadastroDomiciliar->animal->pluck('id'), 'unidade_id' => $cadastroDomiciliar->equipe->unidade_id, 'infraestrutura_id' => $cadastroDomiciliar->equipe->infraestrutura_id, 'logradouro_id' => $logradouroId, 'logradouro_tipo_id' => $logradouroTipoId, 'bairro_id' => $bairroId, 'cep' => $cep, 'latitude' => $latitude, 'longitude' => $longitude, ]; }); return response()->json($cadastrosDomiciliares, Response::HTTP_OK); } }