PHP code example of magslabs / laravel-storedproc

1. Go to this page and download the library: Download magslabs/laravel-storedproc library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

magslabs / laravel-storedproc example snippets


use MagsLabs\LaravelStoredProc\StoredProcedure;

$result = StoredProcedure::stored_procedure('get_user_by_id')
    ->stored_procedure_params([':id'])
    ->stored_procedure_values([1])
    ->execute()
    ->stored_procedure_result();

$result = StoredProcedure::stored_procedure('get_all_users')
    ->execute()
    ->stored_procedure_result();

// As an array
->stored_procedure_params([':id'])
->stored_procedure_values([1]);

// From a Laravel FormRequest or Request
->stored_procedure_params($request); // will automatically extract keys and format them
->stored_procedure_values([$request->id]);

->with_transaction()

use MagsLabs\LaravelStoredProc\StoredProcedure;

// Static usage with parameters and transaction
$users = StoredProcedure::stored_procedure('get_users_by_role')
    ->stored_procedure_connection('mysql') // Optional
    ->stored_procedure_params([':role'])
    ->stored_procedure_values(['admin'])
    ->with_transaction() // Optional
    ->execute()
    ->stored_procedure_result();

// Static usage without parameters and without transaction
$logs = StoredProcedure::stored_procedure('get_recent_logs')
    ->stored_procedure_connection('mysql') // Optional
    ->execute()
    ->stored_procedure_result();

// Explicitly instantiate and reuse
$storedProc = new StoredProcedure();

$users = $storedProc->stored_procedure('get_users_by_role')
    ->stored_procedure_connection('mysql') // Optional
    ->stored_procedure_params([':role'])
    ->stored_procedure_values(['admin'])
    ->with_transaction() // Optional
    ->execute()
    ->stored_procedure_result();

$logs = $storedProc->stored_procedure('get_recent_logs')
    ->stored_procedure_connection('mysql') // Optional
    ->execute()
    ->stored_procedure_result();

// Example via dependency injection in a controller
use MagsLabs\LaravelStoredProc\StoredProcedure;

class UserController extends Controller
{
    protected StoredProcedure $storedProc;

    public function __construct(StoredProcedure $storedProc)
    {
        $this->storedProc = $storedProc;
    }

    public function index()
    {
        $users = $this->storedProc->stored_procedure('get_users_by_role')
            ->stored_procedure_connection('mysql') // Optional
            ->stored_procedure_params([':role'])
            ->stored_procedure_values(['admin'])
            ->with_transaction() // Optional
            ->execute()
            ->stored_procedure_result();

        return response()->json($users);
    }

    public function logs()
    {
        $logs = $this->storedProc->stored_procedure('get_recent_logs')
            ->stored_procedure_connection('mysql') // Optional
            ->execute()
            ->stored_procedure_result();

        return response()->json($logs);
    }
}

->stored_procedure_connection('your_own_connection_database_name')

'channels' => [

    // other log channels...

    'magslabs_laravel_stored_proc' => [
        'driver' => 'single',
        'path' => storage_path('logs/magslabs_laravel_stored_proc.log'),
        'level' => 'debug',
    ],
],