CasperSecurity
<?php
namespace App\Http\Livewire\Report;
use App\Models\Organisation;
use App\Models\SettingsCity;
use App\Models\SettingsLocation;
use App\Models\SettingsState;
use Carbon\Carbon;
use Livewire\Component;
class LocationReportLivewire extends Component
{
public $search;
public $perPage = 10;
public $orderBy = 'id';
public $orderAsc = 'asc';
public $tender_name;
public $from_date, $to_date, $data;
public function closemodalclick()
{
$this->resetValidation();
$this->datatable = [];
}
public function mount()
{
$this->from_date = Carbon::now()->format('Y-m-d');
$this->to_date = Carbon::now()->format('Y-m-d');
$this->orderBy = 'id';
}
public function read()
{
$cities = SettingsLocation::where('status', 1)->orderBy($this->orderBy, $this->orderAsc);
return $cities->paginate($this->perPage ?? 10);
}
public function render()
{
// dd($this->orderAsc);
$org = Organisation::latest()->first();
$datatable = $this->read();
if (sizeof($datatable) > 0) {
foreach ($datatable as $key => $data) {
$city = SettingsCity::with('state')->select('id','settings_state_id','city_name')->find($data->settings_city_id);
$datatable[$key]['state_name'] = $city ? $city->state->state_name : 'N/A';
$datatable[$key]['city_name'] = $city ? $city->city_name : 'N/A';
}
}
$states = SettingsState::select('id', 'state_name')->get();
return view('livewire.report.location-report-livewire',compact('datatable','org','states','city'));
}
}