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

3 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.

  2. Very interesting info!Perfect just what I was searching for!