61 lines
1.3 KiB
PHP
61 lines
1.3 KiB
PHP
<?php
|
|
|
|
namespace App\Models;
|
|
|
|
use Dcat\Admin\Traits\HasDateTimeFormatter;
|
|
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
use Illuminate\Database\Eloquent\Model;
|
|
|
|
class Tag extends Model
|
|
{
|
|
use HasFactory;
|
|
use HasDateTimeFormatter;
|
|
|
|
public const TYPE_ORDER = 1;
|
|
public const TYPE_PACKAGE = 2;
|
|
public const TYPE_AFTER_SALE = 3;
|
|
public const TYPE_STORE_STOCK = 4;
|
|
|
|
protected $fillable = ['type', 'name'];
|
|
|
|
public static $typeMaps = [
|
|
self::TYPE_ORDER => '订单',
|
|
self::TYPE_PACKAGE => '货运',
|
|
self::TYPE_AFTER_SALE => '售后',
|
|
self::TYPE_STORE_STOCK => '店铺库存',
|
|
];
|
|
|
|
// /**
|
|
// * 标签下的订单
|
|
// *
|
|
// */
|
|
// public function orders()
|
|
// {
|
|
// return $this->morphedByMany(Order::class, 'taggable');
|
|
// }
|
|
|
|
// /**
|
|
// * 标签下的包裹
|
|
// *
|
|
// */
|
|
// public function packages()
|
|
// {
|
|
// return $this->morphedByMany(OrderPackage::class, 'taggable');
|
|
// }
|
|
|
|
public function scopeOrderTag($query)
|
|
{
|
|
return $query->where('type', self::TYPE_ORDER);
|
|
}
|
|
|
|
public function scopeOrderPackageTag($query)
|
|
{
|
|
return $query->where('type', self::TYPE_PACKAGE);
|
|
}
|
|
|
|
public function scopeAfterSaleTag($query)
|
|
{
|
|
return $query->where('type', self::TYPE_AFTER_SALE);
|
|
}
|
|
}
|