56 lines
1.2 KiB
PHP
56 lines
1.2 KiB
PHP
<?php
|
|
|
|
namespace App\Models;
|
|
|
|
class PropertyPromotion extends BaseModel
|
|
{
|
|
/**
|
|
* The database table used by the model.
|
|
*
|
|
* @var string
|
|
*/
|
|
protected $table = 'property_promotion';
|
|
protected $appends = ['daysArray', 'excludeDatesArray'];
|
|
|
|
const CREATED_AT = 'created_at';
|
|
const UPDATED_AT = 'updated_at';
|
|
|
|
protected $dateFormat = 'U';
|
|
protected $guarded = [];
|
|
|
|
/**
|
|
* The attributes excluded from the model's JSON form.
|
|
*
|
|
* @var array
|
|
*/
|
|
protected $hidden = [];
|
|
|
|
/**
|
|
* @return mixed
|
|
*/
|
|
|
|
public function promotionType()
|
|
{
|
|
return $this->hasOne('App\Models\PromotionType', 'id', 'promotion_type_id')
|
|
->select(['id', 'name', 'language_key', 'parent_id', 'type_code', 'order_number', 'status']);
|
|
}
|
|
|
|
public function getDaysArrayAttribute()
|
|
{
|
|
if (!is_null($this->days)) {
|
|
return json_decode($this->days, 1);
|
|
} else {
|
|
return null;
|
|
}
|
|
}
|
|
|
|
public function getExcludeDatesArrayAttribute()
|
|
{
|
|
if (!is_null($this->exclude_dates)) {
|
|
return json_decode($this->exclude_dates, 1);
|
|
} else {
|
|
return null;
|
|
}
|
|
}
|
|
}
|