105 lines
3.2 KiB
PHP
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();
|
|
}
|
|
}
|