name : CompagnieCreate.php
<?php

namespace App\Livewire\Compagnie;

use Livewire\Component;
use Illuminate\Support\Facades\Storage;
use Livewire\Attributes\Title;
use App\Models\Compagnie;
use Livewire\Attributes\Rule;
use Livewire\WithFileUploads;
use Illuminate\Support\Facades\Auth;

class CompagnieCreate extends Component
{

    use WithFileUploads;

    #[Rule('image|mimes:jpg,jpeg,png')]
    public $photo;
    #[Rule('required|unique:compagnies,Nom_compagnie')]
    public $Nom_compagnie = '';
    #[Rule('required|unique:compagnies,addresse')]
    public $addresse ='';
    #[Rule('required|unique:compagnies,contact')]
    public $contact = '';
    #[Rule('nullable')]
    public $IDpays_compagnie ='';

    
    public $success;

    public function mount()
    {
        if (!Auth::check()) {
            return redirect()->route('post.login');
        }
    }

    public function Annuler(){
        $this->reset(); 
    }

    

    public function save(){
        $this->validate();
        $path = $this->photo->store('logosCompagnie', 'public');
        Compagnie::create([
            'Nom_compagnie'=> $this->Nom_compagnie,
            'addresse'=> $this->addresse,
            'contact'=> $this->contact,
            'IDpays_compagnie'=> $this->IDpays_compagnie,
            'path'=>$path,
            'url'=>Storage::disk('public')->url($path),
        ]);
        $this->reset();
        $this->success='Compagnie ajoutée avec success';
    }

    
    #[Title('Compagnie d\'assurance')]
    public function render()
    {
        return view('livewire.compagnie.compagnie-create');
    }
}

© 2025 UnknownSec
afwwrfwafr45458465
Password