Files
rkm-conectasus-ci-sandbox/api/app/Models/Cadastro/Localizacao/DomicilioInformacaoResidencial.php
Antonio Lopes dos Santos afec302c3e
All checks were successful
build-api-image / build (push) Successful in 51s
init commit
2026-08-04 16:52:02 -03:00

105 lines
3.2 KiB
PHP

<?php
namespace App\Models\Cadastro\Localizacao;
use App\Models\AtencaoBasica\CadastroDomiciliar\Animal;
use App\Models\AtencaoBasica\CadastroDomiciliar\Lazer;
use App\Models\Cadastro\Localizacao\DomicilioInformacaoResidencialAnimal;
use App\Models\Cadastro\Localizacao\DomicilioInformacaoResidencialLazer;
use App\Models\Model;
use App\Models\Sigtap\Ocupacao;
class DomicilioInformacaoResidencial extends Model
{
protected $table = 'cadastro_domicilio_informacao_residencial';
protected $casts = [
'instituicao_outros_profissionais' => 'boolean',
'possui_animais' => 'boolean',
'bolsa_familia' => 'boolean',
'vale_gas' => 'boolean',
'bolsa_escola' => 'boolean',
'bpc' => 'boolean',
'recusa_cadastro' => 'boolean',
'fora_area' => 'boolean',
'energia_eletrica' => 'boolean',
'possui_veiculo_proprio' => 'boolean',
'possui_financiamento' => 'boolean',
'possui_emprestimo' => 'boolean',
];
protected $fillable = [
'id',
'domicilio_id',
'microarea_id',
'fora_area',
'instituicao_nome',
'instituicao_outros_profissionais',
'instituicao_nome_responsavel_tecnico',
'instituicao_cns_responsavel_tecnico',
'instituicao_cargo_responsavel_tecnico',
'instituicao_telefone_responsavel_tecnico',
'imovel_tipo_id',
'situacao_domicilio_id',
'domicilio_tipo_id',
'quantidade_comodos',
'situacao_rural_id',
'domicilio_zona_id',
'domicilio_tipo_acesso_id',
'material_predominante_id',
'abastecimento_id',
'tratamento_id',
'destino_lixo_id',
'forma_escoamento_id',
'possui_animais',
'quantidade_animais',
'energia_eletrica',
'higiene_residencial_id',
'bolsa_familia',
'vale_gas',
'bolsa_escola',
'bpc',
'escala_coelho_id',
];
protected $hidden = [
'created_at',
'created_lotacao_id',
'created_centro_custo_id',
'updated_at',
'updated_lotacao_id',
'updated_centro_custo_id',
];
public function lazer()
{
return $this->belongsToMany(Lazer::class, 'cadastro_domicilio_informacao_residencial_lazer')
->using(DomicilioInformacaoResidencialLazer::class)
->as('DomicilioInformacaoResidencialLazer')
->withPivot(
'created_lotacao_id',
'created_centro_custo_id',
'domicilio_informacao_residencial_id',
'lazer_id',
)
->select('atencao_basica_cadastro_lazer.id')
->withTimestamps();
}
public function animal()
{
return $this->belongsToMany(Animal::class, 'cadastro_domicilio_informacao_residencial_animal')
->using(DomicilioInformacaoResidencialAnimal::class)
->as('DomicilioInformacaoResidencialAnimal')
->withPivot(
'created_lotacao_id',
'created_centro_custo_id',
'domicilio_informacao_residencial_id',
'animal_id',
)
->select('atencao_basica_cadastro_animal.id')
->withTimestamps();
}
}