Files
einundzwanzig-portal/app/Http/Livewire/City/Form/CityForm.php
Shift 5776b01d15 Apply Laravel coding style
Shift automatically applies the Laravel coding style - which uses the PSR-12 coding style as a base with some minor additions.

You may customize the code style applied by configuring [Pint](https://laravel.com/docs/pint), [PHP CS Fixer](https://github.com/FriendsOfPHP/PHP-CS-Fixer), or [PHP CodeSniffer](https://github.com/squizlabs/PHP_CodeSniffer) for your project root.

For more information on customizing the code style applied by Shift, [watch this short video](https://laravelshift.com/videos/shift-code-style).
2023-02-19 18:05:16 +01:00

53 lines
1013 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');
}
}