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) { // } }
WladimirG
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
SistekElAdmin
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.