Custom Column Filament
#Model: OrderItem.php
#Model: Order.php
#File: OrderResource.php
How to display total price from
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class OrderItem extends Model
{
use HasFactory;
protected $fillable = [
'order_id', 'package_id', 'weight', 'unit_price'
];
}<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class OrderItem extends Model
{
use HasFactory;
protected $fillable = [
'order_id', 'package_id', 'weight', 'unit_price'
];
}#Model: Order.php
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasMany;
class Order extends Model
{
use HasFactory;
protected $fillable = [
'customer_id', 'code', 'status', 'payment', 'notes'
];
public function customer(): BelongsTo
{
return $this->belongsTo(Customer::class);
}
public function package(): BelongsTo
{
return $this->belongsTo(Package::class);
}
public function items(): HasMany
{
return $this->hasMany(OrderItem::class);
}
}<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasMany;
class Order extends Model
{
use HasFactory;
protected $fillable = [
'customer_id', 'code', 'status', 'payment', 'notes'
];
public function customer(): BelongsTo
{
return $this->belongsTo(Customer::class);
}
public function package(): BelongsTo
{
return $this->belongsTo(Package::class);
}
public function items(): HasMany
{
return $this->hasMany(OrderItem::class);
}
}#File: OrderResource.php
use Filament\Tables\Table;
use App\Models\OrderItem;
public function table(Table $table): Table
{
return $table
->columns([
TextColumn::make('total_price')
->getStateUsing(fn (OrderItem $record) => $record->weight . $record->unit_price),
]);
}use Filament\Tables\Table;
use App\Models\OrderItem;
public function table(Table $table): Table
{
return $table
->columns([
TextColumn::make('total_price')
->getStateUsing(fn (OrderItem $record) => $record->weight . $record->unit_price),
]);
}How to display total price from
order_itemorder_item table? so weightweight unit_priceunit_price