Wed May 2021 1 year ago

Bagaimana Cara Membuat dan Menggunakan Store Procedure di Laravel?

Hai Dev,

Hari ini, saya akan memberi tahu Anda contoh cara membuat dan menggunakan store procedure di laravel. Jika Anda memiliki pertanyaan tentang migrasi laravel membuat store procedure maka saya akan memberikan contoh sederhana dengan solusi. Anda akan belajar bagaimana memanggil store procedure mysql di laravel. Anda dapat memahami konsep bagaimana menulis store procedure di laravel.

Dalam contoh ini saya akan membuat store procedure mysql menggunakan migrasi laravel dan kami akan memanggil store procedure menggunakan laravel eloquent. Anda dapat dengan mudah menggunakannya dengan versi laravel 6, laravel 7 dan laravel 8.

dalam contoh ini kita akan membuat panggilan store procedure "get_posts_by_userid" yang akan mengembalikan posting dari id pengguna yang diberikan. jadi mari kita lihat contoh sederhana di bawah ini:

 

Buat Store Procedure menggunakan Migrasi:

<?php
  
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
  
class CreatePostProcedure extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        $procedure = "DROP PROCEDURE IF EXISTS `get_posts_by_userid`;
            CREATE PROCEDURE `get_posts_by_userid` (IN idx int)
            BEGIN
            SELECT * FROM posts WHERE user_id = idx;
            END;";
  
        \DB::unprepared($procedure);
    }
  
    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
         
    }
}

Call Stored Procedure:

Route::get('call-procedure', function () {
  
    $postId = 1;
    $getPost = DB::select(
       'CALL get_posts_by_userid('.$postId.')'
    );
  
    dd($getPost);
      
});

Output:

Array

(

    [0] => stdClass Object

        (

            [id] => 5

            [title] => asasas

            [body] => asasasa

            [created_at] => 2021-05-01 06:00:03

            [updated_at] => 2021-05-01 06:00:03

            [user_id] => 1

        )

    [1] => stdClass Object

        (

            [id] => 6

            [title] => sdfsdf

            [body] => sdfsdfsf

            [created_at] => 2021-05-01 06:14:05

            [updated_at] => 2021-05-01 06:14:05

            [user_id] => 1

        )

)

saya harap ini dapat membantu anda..

store procedure laravel