Çözümü bu şekilde buldum dostlar AfterStateupdate içine taşımak gerekiyormuş kodları güncelledim.
Repeater::make('OrdersItem')->label('Ürünler')
->relationship()
->schema([
Select::make('product_order_id')->label('Ürün Seçiniz')
->options(ProductOrder::query()->where('customer_id', Auth::user()->customer_id)->pluck('producer', 'id'))
->required(),
TextInput::make('falling_stock')
->label('Çıkılacak Stok Adedi')
->numeric()
->columnSpan([
'md' => 1,
])
->required()
->reactive()
->afterStateUpdated(function (Closure $get, $state) {
$productOrder = ProductOrder::find($get('product_order_id'));
if ($productOrder->amount >= $state) {
$de=$productOrder->amount;
$total=$de-intval($state);
$productOrder->update(['amount' => $total]);
}
})
->rule(function ($get) {
return function ($attribute, $value, $fail) use ($get) {
$productOrder = ProductOrder::find($get('product_order_id'));
if ($value>$productOrder->amount) {
$fail('çıkılacak stok adedi, mevcut stok adedinden fazla olamaz.');
}
};
}),