'json']; // 获取所有产品图片 public function getPicturesAttribute($value): array { if (is_string($value)) { $value = $value ? json_decode($value, true) : []; } $this->append('picture'); return $value ?? []; } // 获取第一张产品图片 public function getPictureAttribute($value): string { return $this->pictures[0] ?? ''; } public function setPicturesAttribute($value) { if (is_array($value)) { $this->attributes['pictures'] = json_encode(array_filter($value)); } } public function supplier() { return $this->belongsTo(Supplier::class)->withTrashed(); } public function category() { return $this->belongsTo(Category::class); } public function spec() { return $this->hasMany(ProductSpec::class); } }