File: /var/www/admin.fixgini.com/app/Livewire/City/Store.php
<?php
namespace App\Livewire\City;
use App\Models\City;
use App\Models\Country;
use App\Models\State;
use Livewire\Component;
class Store extends Component
{
public $name;
public $country_id;
public $state_id;
protected $rules = [
'name' => 'required|string|unique:states,name',
'state_id' => 'required|string|exists:states,id',
'country_id' => 'required|string|exists:countries,id',
];
public function saveCity()
{
$this->validate();
try {
City::create([
'name' => $this->name,
'state_id' => $this->state_id,
'country_id' => $this->country_id,
]);
session()->flash('status', 'Saved.');
return redirect()->to('/location');
} catch (\Throwable $th) {
$this->addError('name', $th->getMessage());
}
}
public function render()
{
return view('livewire.city.store', [
'countries' => Country::orderBy('name')->get(),
'states' => State::orderBy('name')->get(),
]);
}
}