erp/app/Models/GoodsSku.php

95 lines
1.8 KiB
PHP

<?php
namespace App\Models;
use App\Models\traits\Filter;
class GoodsSku extends Model
{
use Filter;
//查询字段
public $fieldSearchable = [
'sku_title',
'status',
'exclude_ids',
'external_sku_id'
];
protected $fillable = [
'goods_id',
'title',
'sku_code',
'status',
'num',
'stock',
'cost',
'two_days_ago_num',
'yesterday_num',
'reference_price',
'reserve',
'thumb_url',
'external_sku_id'
];
protected $hidden = ['created_at'];
/**
* 获取状态
*
* @param string $value
* @return string
*/
public function getStatusAttribute($value)
{
$map = [
0 => '下架',
1 => '在售',
2 => '预警',
];
return $map[$value];
}
public function setThumbUrlAttribute($value)
{
$this->attributes['thumb_url'] = json_encode($value, 256);
}
public function getThumbUrlAttribute($value)
{
return json_decode($value, true);
}
/**
* 此规格从属于一个商品
*/
public function goods()
{
return $this->belongsTo(Goods::class, 'goods_id', 'id');
}
/**
* 此规格每日记录
*/
public function daily()
{
return $this->hasOne(DailyStockRecord::class, 'sku_id', 'id');
}
public function combinationItems()
{
return $this->hasMany(CombinationGood::class, 'item_id', 'id');
}
public function combinationGoods()
{
return $this->hasMany(CombinationGood::class, 'goods_sku_id', 'id');
}
public function todayPrice()
{
return $this->hasOne(TodayPrice::class, 'external_sku_id', 'external_sku_id');
}
}