File: /var/www/admin.fixgini.com/app/Livewire/Country/AddForm.php
<?php
namespace App\Livewire\Country;
use App\Models\Country;
use Livewire\Component;
use Livewire\WithFileUploads;
class AddForm extends Component
{
use WithFileUploads;
public $name, $dial_code, $symbol, $flag, $state, $city;
// Save or update country
public function saveCountry()
{
try {
if ($this->flag) {
$uploadedFile = $this->flag->getRealPath();
$uploadResult = cloudinary()->upload($uploadedFile, [
'folder' => 'countryFlag',
'transformation' => [
'width' => 36,
'height' => 19,
'crop' => 'fill',
],
]);
$uploadedFileUrl = $uploadResult->getSecurePath();
$publicId = $uploadResult->getPublicId();
}
Country::create([
'name' => $this->name,
'dial_code' => $this->dial_code,
'symbol' => $this->symbol,
'flag_url' => $uploadedFileUrl ?? 'icon.png',
'flag_public_id' => $publicId ?? 'icon.png',
]);
session()->flash('status', 'Country added.');
$this->redirect('/countries');
} catch (\Throwable $th) {
$this->addError('name', $th->getMessage());
}
}
public function render()
{
return view('livewire.country.add-form');
}
}