*/ use HasFactory, SoftDeletes; protected $fillable = [ 'packaging_material_id', 'supplier_id', 'name', 'category', 'weight_grams', 'min_stock_alert', 'url', 'product_id', 'active', ]; /** * @return array */ protected function casts(): array { return [ 'active' => 'boolean', 'weight_grams' => 'decimal:2', ]; } /** * @return BelongsTo */ public function packagingMaterial(): BelongsTo { return $this->belongsTo(PackagingMaterial::class); } /** * @return BelongsTo */ public function supplier(): BelongsTo { return $this->belongsTo(Supplier::class); } /** * @return BelongsTo */ public function product(): BelongsTo { return $this->belongsTo(Product::class); } /** * Produkte, die diesen Verpackungsartikel in der Stückliste führen (BOM). * * @return BelongsToMany */ public function products(): BelongsToMany { return $this->belongsToMany(Product::class, 'product_packagings') ->withPivot('quantity', 'pos') ->withTimestamps(); } }