File: //home/armgroup/libs/app/Http/Livewire/Frontend/Order/Tracking.php
<?php
namespace App\Http\Livewire\Frontend\Order;
use App\Http\Livewire\ConvertEmptyStringsToNull;
use App\Http\Livewire\General;
use App\Models\User;
use App\Rules\Mobile;
use Livewire\Component;
class Tracking extends Component
{
use ConvertEmptyStringsToNull, General;
public $tracking_code;
public $mobile;
public $status = false;
public function render()
{
return view('livewire.frontend.order.tracking');
}
protected function rules()
{
return [
'tracking_code' => 'required|string|exists:orders',
'mobile' => ['required', new Mobile, 'exists:users'],
];
}
public function check()
{
$this->status = false;
$this->validate();
$user = User::where('mobile', $this->mobile)->firstOrFail();
$order = $user->orders()->where('tracking_code', $this->tracking_code)->first();
$order ? $this->status = $order->status->description : $this->addError('not_found', 'شما سفارشی با این کد پیگیری ثبت نکردهاید.');
}
}