belongsTo(ItemReference::class, ["item_id", "id"], ["item_id", "item_variant_id"]); } public function variables() { return $this->belongsToMany(Variant::class, "variant_value")->select("id", "name", "value"); } public function image() { return $this->hasOne(ItemImage::class)->where('item_id', $this->item_id); } public function images() { return $this->hasMany(ItemImage::class)->where('item_id', $this->item_id); } public function variantValue() { return $this->hasMany(\App\Models\VariantValue::class, 'item_variant_id'); } public function getImageUrlAttribute() { $image = $this->images->first()->filename ?? null; if (str_contains($image,"http")) { return $image; } return $image ? Storage::disk('wms')->url($image) : null; } }