123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- <?php
- namespace App\Models;
- use App\Traits\SortableTraitPinned;
- use Dcat\Admin\Traits\HasDateTimeFormatter;
- use Dcat\Admin\Traits\ModelTree;
- use Illuminate\Database\Eloquent\Model;
- use Spatie\EloquentSortable\Sortable;
- use Spatie\EloquentSortable\SortableTrait;
- class BaseProduct extends Model
- {
- use HasDateTimeFormatter;
- use SortableTraitPinned;
- protected $table = 'base_product';
- // 可选:你可以在这里自定义排序配置
- public $sortable = [
- 'order_column_name' => 'order', // 排序字段
- 'sort_when_creating' => true, // 创建时自动排序
- ];
- protected $casts = [
- 'created_at' => 'datetime:Y-m-d H:i:s',
- 'updated_at' => 'datetime:Y-m-d H:i:s',
- 'parameters' => 'json', // 将 attributes 字段转换为数组
- ];
- public function baseProductCategory()
- {
- return $this->hasOne(BaseProductCategory::class,'id','category_id');
- }
- protected $fillable = [
- 'id',
- 'title',
- 'keywords',
- 'description',
- 'sku',
- 'category_id',
- 'issuance_date',
- 'order',
- 'enabled',
- 'content',
- 'parameters',
- 'created_at',
- 'updated_at',
- 'is_pinned',
- ];
- // 一对多关联
- public function images()
- {
- return $this->hasMany(BaseProductImage::class, 'product_id','id')->orderBy('order', 'asc')->orderBy('id', 'asc');
- }
- }
|