101 lines
3.8 KiB
PHP
101 lines
3.8 KiB
PHP
<?php
|
|
|
|
namespace App\Models\Sym;
|
|
|
|
use Cviebrock\EloquentSluggable\Sluggable;
|
|
use Illuminate\Database\Eloquent\Model;
|
|
|
|
|
|
/**
|
|
* App\Models\Sym\CmsContent
|
|
*
|
|
* @property int $id
|
|
* @property string $name
|
|
* @property string $slug
|
|
* @property string $field
|
|
* @property string|null $text
|
|
* @property string|null $full_text
|
|
* @property int|null $integer
|
|
* @property float|null $decimal
|
|
* @property string|null $created_at
|
|
* @property string|null $updated_at
|
|
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Sym\CmsContent newModelQuery()
|
|
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Sym\CmsContent newQuery()
|
|
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Sym\CmsContent query()
|
|
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Sym\CmsContent whereCreatedAt($value)
|
|
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Sym\CmsContent whereDecimal($value)
|
|
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Sym\CmsContent whereField($value)
|
|
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Sym\CmsContent whereFullText($value)
|
|
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Sym\CmsContent whereId($value)
|
|
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Sym\CmsContent whereInteger($value)
|
|
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Sym\CmsContent whereName($value)
|
|
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Sym\CmsContent whereSlug($value)
|
|
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Sym\CmsContent whereText($value)
|
|
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Sym\CmsContent whereUpdatedAt($value)
|
|
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Sym\CmsContent findSimilarSlugs($attribute, $config, $slug)
|
|
* @property string|null $identifier
|
|
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Sym\CmsContent whereIdentifier($value)
|
|
* @property array|null $object
|
|
* @property int|null $pos
|
|
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Sym\CmsContent whereObject($value)
|
|
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Sym\CmsContent wherePos($value)
|
|
* @method static \Illuminate\Database\Eloquent\Builder|CmsContent withUniqueSlugConstraints(\Illuminate\Database\Eloquent\Model $model, string $attribute, array $config, string $slug)
|
|
* @mixin \Eloquent
|
|
*/
|
|
class CmsContent extends Model
|
|
{
|
|
|
|
use Sluggable;
|
|
|
|
protected $connection = 'mysql';
|
|
|
|
protected $table = 'cms_contents';
|
|
|
|
protected $fillable = [
|
|
'name', 'slug', 'identifier', 'field', 'text', 'full_text', 'object', 'integer', 'decimal', 'pos',
|
|
];
|
|
|
|
protected $casts = [
|
|
'object' => 'array',
|
|
'pos' => 'int'
|
|
];
|
|
|
|
public $timestamps = false;
|
|
|
|
public function sluggable(): array
|
|
{
|
|
return [
|
|
'slug' => [
|
|
'source' => 'name'
|
|
]
|
|
];
|
|
}
|
|
|
|
public function _format_number($value){
|
|
return preg_replace("/[^0-9,]/", "", $value);
|
|
}
|
|
|
|
public function setDecimalAttribute($value)
|
|
{
|
|
$value = $this->_format_number($value);
|
|
$value = substr($value, -13);
|
|
$this->attributes['decimal'] = (float) str_replace(',', '.', $value);
|
|
}
|
|
|
|
public function getDecimalAttribute()
|
|
{
|
|
if(isset($this->attributes['decimal'])){
|
|
// 2 = decimal places | '.' = decimal seperator | ',' = thousand seperator
|
|
return number_format(($this->attributes['decimal']), 2, ',', '.');
|
|
}
|
|
return "";
|
|
}
|
|
|
|
public function setIntegerAttribute($value)
|
|
{
|
|
$value = $this->_format_number($value);
|
|
$value = substr($value, -10);
|
|
$this->attributes['integer'] = intval($value);
|
|
}
|
|
|
|
}
|