diff --git a/app/Models/ProductPrice.php b/app/Models/ProductPrice.php
index 25fe98a..08b30f2 100644
--- a/app/Models/ProductPrice.php
+++ b/app/Models/ProductPrice.php
@@ -3,11 +3,14 @@
namespace App\Models;
use App\Enums\PriceType;
+use Illuminate\Database\Eloquent\Attributes\Appends;
use Illuminate\Database\Eloquent\Attributes\Guarded;
+use Illuminate\Database\Eloquent\Casts\Attribute;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
#[Guarded(['id'])]
+#[Appends(['price_formatted', 'price_type_label'])]
class ProductPrice extends Model
{
protected function casts(): array
@@ -18,6 +21,20 @@ protected function casts(): array
];
}
+ protected function priceTypeLabel(): Attribute
+ {
+ return Attribute::make(
+ get: fn () => $this->price_type->label(),
+ );
+ }
+
+ protected function priceFormatted(): Attribute
+ {
+ return Attribute::make(
+ get: fn () => 'Rp '.number_format($this->price, 0, ',', '.'),
+ );
+ }
+
public function product(): BelongsTo
{
return $this->belongsTo(Product::class);
diff --git a/resources/js/pages/admin/master/product/partials/columns.tsx b/resources/js/pages/admin/master/product/partials/columns.tsx
index 9f02192..eeb8586 100644
--- a/resources/js/pages/admin/master/product/partials/columns.tsx
+++ b/resources/js/pages/admin/master/product/partials/columns.tsx
@@ -79,6 +79,32 @@ export const getColumns = ({ onDelete, onToggleStatus, onPreviewImage }: ColumnP
);
}
},
+ {
+ accessorKey: "prices",
+ header: ({ column }) => (
+