File: /home/armgroup/libs/app/Http/Livewire/Admin/Datatables/Product/Stock.php
<?php
namespace App\Http\Livewire\Admin\Datatables\Product;
use App\Http\Livewire\General;
use App\Models\Product;
use Illuminate\Support\Facades\DB;
use Livewire\Component;
class Stock extends Component
{
use General;
public Product $product;
protected function rules()
{
return [
'product.stock' => 'nullable|integer|min:0|max:999999999999999',
];
}
public function updatedProductStock()
{
if (DB::table('option_product')->where('product_id', $this->product->id)->exists()) {
$this->addError('product.stock', 'موجودی محصولات دارای گزینه از طریق مجموع موجودی گزینه ها محاسبه میشود.');
return;
}
$this->product->stock = trim($this->product->stock);
$this->product->stock = $this->product->stock === '' ? null : $this->product->stock;
$this->validate();
$this->product->save();
$this->ajaxDoneMessage();
}
public function render()
{
return view('livewire.admin.datatables.product.stock');
}
}