HEX
Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/8.0.30
System: Linux multiplicar 3.10.0-1160.102.1.el7.x86_64 #1 SMP Tue Oct 17 15:42:21 UTC 2023 x86_64
User: root (0)
PHP: 8.0.30
Disabled: NONE
Upload Files
File: /var/www/html/xfacil.desafio.com.py/app/Http/Livewire/Competencias.php
<?php

namespace App\Http\Livewire;

use Livewire\Component;
use App\Models\Competencia;
use App\Models\Formulario;
use Livewire\WithPagination;

class Competencias extends Component{

    use WithPagination;

	protected $queryString = ['buscar' => ['except' => '']];

    protected $paginationTheme = 'bootstrap';

	public $buscar='';

	public $com_nom, $competencia_id, $formulario_id;
    
    public $updateMode = false;

    public function render(){

        $formulario = Formulario::find($this->formulario_id);

    	$competencias=Competencia::where('com_nom','LIKE',"%{$this->buscar}%")->where('formulario_id',$formulario->id)->where('com_estado',1)->paginate(12);

        return view('livewire.formularios.competencias.index',["competencias" => $competencias,"formulario" => $formulario]);
    }

    private function resetInputFields(){
        $this->com_nom = '';
    }
 
    public function store()
    {
        $validatedDate = $this->validate([
            'com_nom' => 'required',
            'formulario_id' => 'required',
        ]);
 
        Competencia::create($validatedDate);
 
        $this->emit('alert', ['type' => 'success', 'message' => 'Competencia creada correctamente.']);
 
        $this->resetInputFields();
 
    }
 
    public function edit($id)
    {
        $this->updateMode = true;
        $competencia = Competencia::where('id',$id)->first();
        $this->competencia_id = $id;
        $this->com_nom = $competencia->com_nom;
        $this->formulario_id = $competencia->formulario_id;
        
    }
 
    public function cancel()
    {
        $this->updateMode = false;
        $this->resetInputFields();
 
 
    }
 
    public function update()
    {
        $validatedDate = $this->validate([
            'com_nom' => 'required',
            'formulario_id' => 'required',
        ]);
 
        if ($this->competencia_id) {
            $competencia = Competencia::find($this->competencia_id);
            $competencia->update([
                'com_nom' => $this->com_nom,
                'formulario_id' => $this->formulario_id,
            ]);
            $this->updateMode = false;
            $this->emit('alert', ['type' => 'info', 'message' => 'Competencia actualizada correctamente.']);
            $this->resetInputFields();
 
        }
    }
 
    public function delete($id)
    {
        if($id){
            $competencia = Competencia::find($id);
            $competencia->update([
                'com_estado' => 0,
            ]);
            $this->emit('alert', ['type' => 'error', 'message' => '¡Competencia eliminada correctamente.!']);
        }
    }
}