6
0
Fork 0
jiqu-library-server/app/Models/Store/Store.php

57 lines
1.4 KiB
PHP

<?php
namespace App\Models\Store;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Dcat\Admin\Traits\HasDateTimeFormatter;
class Store extends Model
{
use HasFactory, HasDateTimeFormatter;
protected $fillable = ['title', 'image'];
protected $attributes = [
'status' => 1,
'sort' => 1
];
protected static function booted()
{
static::deleted(function ($model) {
// 商品记录
$model->productSkus()->detach();
// 库存记录
$model->stockLogs()->delete();
// 管理员记录
$model->administrators()->detach();
});
}
public function administrators()
{
return $this->belongsToMany(\App\Models\Admin\Administrator::class, 'store_administrators', 'store_id', 'administrator_id');
}
public function productSkus()
{
return $this->belongsToMany(\App\Models\ProductSku::class, 'store_product_skus', 'store_id', 'product_sku_id')->withPivot('amount', 'status');
}
public function stockLogs()
{
return $this->hasMany(StockLog::class, 'store_id');
}
public function scopeEffective($q)
{
return $q->where('status', 1);
}
public function scopeSort($q)
{
return $q->orderBy('sort')->orderBy('id', 'desc');
}
}