File: /home/armgroup/libs/app/Http/Livewire/Admin/Datatables/Product/Price.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 Price extends Component
{
use General;
public Product $product;
protected function rules()
{
return [
'product.price' => 'nullable|integer|min:0|max:999999999999999',
];
}
public function updatedProductPrice()
{
$this->product->price = trim($this->product->price);
$this->product->price = $this->product->price === '' ? null : $this->product->price;
$this->validate();
$maxSpecialPrice = DB::table('organization_product')->where('product_id', $this->product->id)->max('special');
if ($maxSpecialPrice && ($this->product->price <= $maxSpecialPrice)) {
$this->addError('product.price', "قیمت نباید از قیمت ویژه ($maxSpecialPrice) کمتر باشد.");
return;
}
$this->product->save();
$this->ajaxDoneMessage();
}
public function render()
{
return view('livewire.admin.datatables.product.price');
}
}