12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- <?php
- namespace app\model;
- use DateTimeInterface;
- use support\Model;
- class Goods extends Model
- {
- protected $table = 'goods';
- protected $primaryKey = 'goods_id';
- protected $keyType = 'string';
- public $incrementing = false;
- protected $dateFormat = 'U';
- const CREATED_AT = 'goods_addtimes';
- const UPDATED_AT = 'goods_updatetimes';
- // 自动上架
- const LISTING_KEY_PREFIX = "GOODS:LISTING:ON:";
- // 自动下架
- const LISTING_OFF_KEY_PREFIX = "GOODS:LISTING:OFF:";
- public function serializeDate(DateTimeInterface $date)
- {
- return $date->format('Y-m-d H:i:s');
- }
- /**
- * @Desc 关联分类
- * @Author Gorden
- * @Date 2024/3/28 9:36
- *
- * @return \Illuminate\Database\Eloquent\Relations\HasOne
- */
- public function category()
- {
- return $this->hasOne(SysCategory::class, 'category_id', 'join_goods_category_id')
- ->select('category_id', 'category_name');
- }
- public function detail()
- {
- return $this->hasOne(GoodsDetail::class, 'join_detail_goods_id', 'goods_id');
- }
- /**
- * @Desc 关联GoodsRunning
- * @Author Gorden
- * @Date 2024/3/28 10:04
- *
- * @return \Illuminate\Database\Eloquent\Relations\HasOne
- */
- public function running()
- {
- return $this->hasOne(GoodsRunning::class, 'join_running_goods_id', 'goods_id');
- }
- public function supplier()
- {
- return $this->hasOne(Supplier::class, 'supplier_id', 'join_goods_supplier_id');
- }
- public function component()
- {
- return $this->hasMany(GoodsComponent::class, 'join_component_master_goods_id', 'goods_id');
- }
- public function sku()
- {
- return $this->hasMany(GoodsSku::class, 'join_sku_goods_id', 'goods_id')
- // ->where('goods_sku_status','ON')
- ->select('goods_sku_id', 'join_sku_goods_id', 'goods_sku_specs_json', 'goods_sku_sales_price', 'goods_sku_status', 'goods_sku_storage_json');
- }
- public function skuOne()
- {
- return $this->hasOne(GoodsSku::class, 'join_sku_goods_id', 'goods_id')
- ->select('goods_sku_id', 'join_sku_goods_id', 'goods_sku_specs_json', 'goods_sku_sales_price', 'goods_sku_status', 'goods_sku_storage_json');
- }
- public function user()
- {
- return $this->hasOne(SysUser::class, 'user_id', 'creator_user_id');
- }
- public function updateUser()
- {
- return $this->hasOne(SysUser::class, 'user_id', 'updator_user_id');
- }
- }
|