72 lines
1.5 KiB
PHP

<?php
namespace Modules\Admin\App\Models;
use Modules\Admin\App\Models\Sat\CodigoPostal;
use Modules\Admin\App\Models\Sat\Colonia;
use Modules\Admin\App\Models\Sat\Estado;
use Modules\Admin\App\Models\Sat\Municipio;
use Illuminate\Database\Eloquent\Model;
class ContactableAddress extends Model
{
protected $table = 'contactable_addresses';
protected $fillable = [
'contactable_id',
'contactable_type',
'type',
'c_estado',
'c_municipio',
'c_codigo_postal',
'c_colonia',
'direccion',
'num_ext',
'num_int',
'referencia',
'lat',
'lng',
'preference_level',
];
/**
* Casts for the model attributes.
*/
protected $casts = [
'lat' => 'float',
'lng' => 'float',
'preference_level' => 'integer',
];
/**
* Polymorphic relationship to the parent model.
*/
public function contactable()
{
return $this->morphTo();
}
/**
* Relationships to SAT tables.
*/
public function estado()
{
return $this->belongsTo(Estado::class, 'c_estado', 'c_estado');
}
public function municipio()
{
return $this->belongsTo(Municipio::class, 'c_municipio', 'c_municipio');
}
public function codigoPostal()
{
return $this->belongsTo(CodigoPostal::class, 'c_codigo_postal', 'c_codigo_postal');
}
public function colonia()
{
return $this->belongsTo(Colonia::class, 'c_colonia', 'c_colonia');
}
}