Aprende a usar Procedimientos Almacenados en Laravel

Aprende a usar Procedimientos Almacenados en Laravel

Cuando desarrollamos aplicaciones usamos procedimientos almacenados, pero en Laravel es comun usar el ORM llamado Eloquent. Por lo que existen personas que no se acostumbran y prefieren los procedimientos almacenados con el cual aprenderemos a trabajar.

Creamos un nuevo proyecto de laravel y agregamos el controlador de recursos llamado ClientesControllador ejecutando el siguiente comando en el terminal.

php artisan make:controller ClientesController --resource

En el archivo routes.php definimos la ruta para el controlador de recursos de la siguiente manera.

Route::resource('clientes',' Clientes Controller', ['except' => ['create', 'edit','store','destroy','update','show']]);

Despues ingresamos al controlador y agregamos la clase DB. Luego en la función index agregamos el metodo DB::select y pasamos como parámetro el nombre del procedimiento almacenado.

 <?php

namespace App\Http\Controllers;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use DB;
class ClienteController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        $clientes=DB::select('call USP_VERCLIENTES');
        return $clientes; 
    }

    /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function create()
    {
        //
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
        //
    }

    /**
     * Display the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function show($id)
    {
        //
    }

    /**
     * Show the form for editing the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function edit($id)
    {
        //
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request, $id)
    {
        //
    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function destroy($id)
    {
        //
    }
}

 

Publicar un comentario

Guardar mi nombre, correo electrónico y sitio web en este navegador la próxima vez que comente

2 Comentarios

  1. buenas, sencilla explicacion, pero mi pregunta si esto se ejecuta solo, o como se hace para llamarlo, ya que veo que lo define como un recurso. por ejemplo si se crea un formulario con un solo boton y que llame al proceso definido aqui

      Buen dia en el controlador de Laravel podrías generar otro método de tipo post para tu formulario y cuando hagas submit, llamas a la ruta y al nuevo método. Haré también un nuevo post explicando ese procedimiento. En este caso el ejemplo es usando los métodos que por defecto se generan al crear un controlador en Laravel.