Orderstatus als Model, nicht Enum

This commit is contained in:
DigitalInfinity committed 2026-02-17 00:26:01 +01:00
1 parent 20767d392f
commit 267872406d
6 files changed
+133 -12

No files matched your search

@@ -2,7 +2,7 @@
namespace App\Filament\Resources\Orders\Schemas;
use App\Orderstatus;
use App\Models\Orderstatus;
use Filament\Actions\Action;
use Filament\Forms\Components\DateTimePicker;
use Filament\Forms\Components\Select;
@@ -25,7 +25,7 @@ class OrderForm
->required()
->numeric()
->default(1),
Select::make("orderstatus")->options(Orderstatus::class)->visibleOn(["edit"]),
Select::make("orderstatus_id")->relationship("orderstatus", "name")->visibleOn(["edit"]),
DateTimePicker::make('orderdatetime')->visibleOn(["edit", "view"]),
Select::make('user_id')
->relationship("user", "name")
@@ -2,7 +2,7 @@
namespace App\Filament\Resources\Orders\Tables;
use App\Orderstatus;
use App\Models\Orderstatus;
use Filament\Actions\Action;
use Filament\Actions\BulkActionGroup;
use Filament\Actions\DeleteBulkAction;
@@ -36,7 +36,7 @@ class OrdersTable
TextColumn::make('count')
->numeric()
->sortable(),
SelectColumn::make('orderstatus')->options(Orderstatus::class)
TextColumn::make('orderstatus.name')
->searchable(),
TextColumn::make('user.name')
->numeric()
+3 -2
View File
@@ -6,11 +6,12 @@ use App\Observers\OrderObserver;
use Illuminate\Database\Eloquent\Attributes\ObservedBy;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use App\Models\Orderstatus;
#[ObservedBy([OrderObserver::class])]
class Order extends Model
{
protected $fillable = ["name", "url", "count", "orderstatus", "orderdatetime", "user_id"];
protected $fillable = ["name", "url", "count", "orderstatus_id", "orderdatetime", "user_id"];
public function user(): BelongsTo
{
@@ -22,4 +23,4 @@ class Order extends Model
}
}
}
+4 -3
View File
@@ -7,6 +7,7 @@ use App\Mail\OrderRegistered;
use App\Models\Order;
use App\Models\User;
use Illuminate\Support\Facades\Mail;
use App\Models\Orderstatus;
class OrderObserver
{
@@ -24,9 +25,9 @@ class OrderObserver
*/
public function updated(Order $order): void
{
$orderstatusArrived = Orderstatus::find("name", "angekommen")->first();
if($order->orderstatus == $orderstatusArrived->id) {
$user = $order->usery;
$orderstatusArrived = Orderstatus::where("name", "angekommen")->first();
if($order->orderstatus_id == $orderstatusArrived->id) {
$user = User::find($order->user_id);
Mail::to($user)->send(new OrderArrived($order));
}
}