mardi 17 janvier 2023

NotFoundHttpException in Handler.php line 103: No query results for model [sistemaconvocatoria\Convocatoria]

I have a problem when I try to edit a record I get the following error: NotFoundHttpException in Handler.php line 103: No query results for model [sistemaconvocatoria\Convocatoria]. --- Here is my controller:

<?php

namespace sistemaconvocatoria\Http\Controllers;

use Illuminate\Http\Request;

use sistemaconvocatoria\Http\Requests;
use sistemaconvocatoria\Convocatoria;
use Illuminate\Support\Facades\Redirect;
use Illuminate\Support\Facades\input;
use sistemaconvocatoria\Http\Requests\ConvocatoriaFormRequest;
use Carbon\Carbon;
use DB;


class ConvocatoriaController extends Controller
{
    public function __construct()
    {
        //$this->middleware('auth');

    }
    public function index(Request $request)
    {
        if ($request)
        {
            $query=trim($request->get('searchText'));
            $convocatorias=DB::table('convocatoria')
            ->where('descripcion','LIKE','%'.$query.'%')
            ->orwhere('codigo','LIKE','%'.$query.'%')
            ->orderBy('idconvocatoria','desc')
            ->paginate(10);
            return view('convocatoria.locacion.index',["convocatorias"=>$convocatorias,"searchText"=>$query]);
        }
        
    }

    public function create()
    {
       
        return view("convocatoria.locacion.create");
    }
    public function store (ConvocatoriaFormRequest $request)
    {
        $convocatoria=new Convocatoria;
        //$convocatoria->id=$request->get('id');
        $convocatoria->codigo=$request->get('codigo');
        $convocatoria->descripcion=$request->get('descripcion');
        $convocatoria->categoria_convocatoria=$request->get('categoria_convocatoria');
        $convocatoria->estado= 'VIGENTE';

        $date1 = Carbon::parse($request->get('fecha_publicacion'));
        $convocatoria->fecha_publicacion=$date1->toDateTimeString();

        $date2 = Carbon::parse($request->get('fecha_vencimiento'));
        $convocatoria->fecha_vencimiento=$date2->toDateTimeString();

        if (Input::hasFile('documento')){
         $file=Input::file('documento');
         $para_extencion=$file->getClientOriginalName();
         $extension = pathinfo($para_extencion, PATHINFO_EXTENSION);
         $nombre_archivo="pdf_".$request->get('categoria_convocatoria')."_".$request->get('codigo').".".$extension;
         $file->move(public_path().'/archivos/pdf/',$nombre_archivo);
         $convocatoria->documento=$nombre_archivo;
        }
        $convocatoria->save();
        return Redirect::to('convocatoria/locacion');

    }
    
    public function show($id)
    {
        return view("convocatoria.locacion.show",["convocatoria"=>Convocatoria::findOrFail($id)]);
    }
    public function edit($id)
    {
        return view("convocatoria.locacion.edit",["convocatoria"=>Convocatoria::findOrFail($id)]);
    }
    
    
    public function update(ConvocatoriaFormRequest $request,$id)
    {
        
        $convocatoria=Convocatoria::findOrFail($id);

        //$convocatoria->id=$request->get('id');
        $convocatoria->codigo=$request->get('codigo');
        $convocatoria->descripcion=$request->get('descripcion');
        $convocatoria->categoria_convocatoria=$request->get('categoria_convocatoria');
        

        $date1 = Carbon::parse($request->get('fecha_publicacion'));
        $convocatoria->fecha_publicacion=$date1->toDateTimeString();

        $date2 = Carbon::parse($request->get('fecha_vencimiento'));
        $convocatoria->fecha_vencimiento=$date2->toDateTimeString();

        if (Input::hasFile('documento')){
         $file=Input::file('documento');
         $para_extencion=$file->getClientOriginalName();
         $extension = pathinfo($para_extencion, PATHINFO_EXTENSION);
         $nombre_archivo="pdf_".$request->get('categoria_convocatoria')."_".$request->get('codigo').".".$extension;
         $file->move(public_path().'/archivos/pdf/',$nombre_archivo);
         $convocatoria->documento=$nombre_archivo;
        }

        $convocatoria->update();
        return Redirect::to('convocatoria/locacion');
    }

    public function destroy($id)
    {
        $convocatoria = DB::table('convocatoria')->where('idconvocatoria','=',$id)->delete();
        return Redirect::to('convocatoria/locacion');

    }
}

my edit.blade.php

@extends ('layouts.admin')
@section ('contenido')
    <div class="row">
        <div class="col-lg-6 col-md-6 col-sm-6 col-xs-12">
            <h3>Editar Certificado: </h3>
            @if (count($errors)>0)
            <div class="alert alert-danger">
                <ul>
                @foreach ($errors->all() as $error)
                    <li></li>
                @endforeach
                </ul>
            </div>
            @endif
        </div>
    </div>
            {!!Form::model($convocatoria, ['method'=>'PATCH','route'=> ['convocatoria.locacion.update',$convocatoria->idconvocatoria],'files'=>'true'])!!}<!--creamos el formulario y le damos los prametros es importante patch es editar-->
            <!--agregamos un token-->
            <div class="col-lg-4 col-md-4 col-sm-4 col-xs-12">
            <div class="form-group">
                <label for="descripcion">Descripción</label>
                <input type="text" name="descripcion" required value="" class="form-control" placeholder="Descripción...">        
            </div>      
        </div>
        <!--para el codigo-->
        <div class="col-lg-2 col-md-2 col-sm-2 col-xs-12">
            <div class="form-group">
                <label for="codigo">Código</label>
                <input type="text" name="codigo" required value="" class="form-control" placeholder="Código...">           
            </div>      
        </div>
        <!--para la categoria-->
        <div class="col-lg-2 col-md-2 col-sm-2 col-xs-12">
            <div class="form-group">
                <label>Categoria</label>
                <select name="categoria_convocatoria" class="form-control">
                    <option value="Bienes" >Bienes</option>
                    <option value="Servicios" >Servicios</option>
                    
                </select>
            </div>
        </div>
        <div class="row"></div>
        <br>

        <div class="col-lg-2 col-md-2 col-sm-2 col-xs-12">
            <div class="form-group"><!--creamos la fila para ingresar el nombre-->
                <label for="fecha_publicacion">Fecha de publicacion</label><!--etiqueta-->
                <input name="fecha_publicacion" type="datetime-local" required value="" class="form-control" placeholder="Fecha de Publicación...">
                        
            </div>      
        </div>
        
        <div class="col-lg-2 col-md-2 col-sm-2 col-xs-12">
            <div class="form-group">
                <label for="fecha_vencimiento">Fecha de Vencimiento</label>
                <input name="fecha_vencimiento" type="datetime-local" required value="" class="form-control" placeholder="Fecha de Vencimiento...">
                        
            </div>      
        </div>
        
        <!--para el pdf-->
        <div class="col-lg-4 col-md-4 col-sm-4 col-xs-12">
            <div class="form-group">
                <label for="documento">Subir TDR</label>
                <input type="file" name="documento" class="form-control">       
            </div>      
        </div>
            <div class="form-group">
                <button class="btn btn-primary" type="submit">Guardar</button>
                
                <button class="btn btn-danger" onclick="history.go(-1); return false;">Cancelar</button>
            </div>

            {!!Form::close()!!}     
            
        
@endsection

at the beginning I thought it was because I was generating a conflict with the id and idconvocation of my convocation table, but apparently it is not that.

<td>
<a href=""><button class="fa fa-pencil-square-o btn btn-primary"> Editar</button></a>
<a href="" data-target="#modal-delete-" data-toggle="modal"><button class="fa fa-trash-o btn btn-danger"> Eliminar</button></a>
</td>

My Route

Route::resource('convocatoria/locacion','ConvocatoriaController');


via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire