Files
einundzwanzig-portal/app/Http/Livewire/City/Form/CityForm.php
HolgerHatGarKeineNode b528f509dd libraryItem forms added
2023-02-11 20:13:16 +01:00

53 lines
1020 B
PHP

<?php
namespace App\Http\Livewire\City\Form;
use App\Models\City;
use Livewire\Component;
class CityForm extends Component
{
public ?City $city = null;
public string $fromUrl = '';
protected $queryString = [
'fromUrl' => [
'except' => null,
],
];
public function rules()
{
return [
'city.country_id' => 'required',
'city.name' => 'required|string',
'city.longitude' => 'required',
'city.latitude' => 'required',
];
}
public function mount()
{
if (!$this->city) {
$this->city = new City();
}
if (!$this->fromUrl) {
$this->fromUrl = url()->previous();
}
}
public function save()
{
$this->validate();
$this->city->save();
return redirect($this->fromUrl ?? url()->route('welcome'));
}
public function render()
{
return view('livewire.city.form.city-form');
}
}