Laravel WebSocket डेटाबेससह समाकलित करणे: रिअल-टाइम डेटा व्यवस्थापन

Laravel WebSocket चॅट, इन्स्टंट नोटिफिकेशन्स आणि इव्हेंट ट्रॅकिंग यांसारखे रिअल-टाइम अॅप्लिकेशन्स तयार करण्यासाठी डेटाबेससह समाकलित करणे हा एक महत्त्वाचा भाग आहे. WebSocket डेटाबेससह एकत्रित करून, आम्ही रिअल-टाइम डेटा प्रभावीपणे संचयित आणि व्यवस्थापित करू शकतो. Laravel WebSocket डेटाबेससह कसे समाकलित करायचे ते येथे आहे .

पायरी 1: Laravel WebSocket पॅकेज स्थापित करा

प्रथम, laravel-websockets पॅकेज स्थापित आणि कॉन्फिगर करा. पॅकेज स्थापित करण्यासाठी संगीतकार वापरा:

composer require beyondcode/laravel-websockets

एकदा स्थापित केल्यावर, तुम्हाला कॉन्फिगरेशन फाइल्स प्रकाशित करणे आणि आवश्यक कार्ये करणे आवश्यक आहे:

php artisan vendor:publish --tag=websockets-config  
php artisan migrate  

पायरी 2: संदेशांसाठी डेटाबेस टेबल तयार करा

आम्ही संदेश संचयित करण्यासाठी डेटाबेसमध्ये एक टेबल तयार करू. टेबल तयार करण्यासाठी खालील आदेश वापरा messages:

php artisan make:model Message -m

कमांड रन केल्यानंतर, तुम्हाला migration डिरेक्टरीमध्ये तयार केलेली फाइल दिसेल database/migrations. फाइल उघडा migration आणि टेबलची रचना परिभाषित करा messages:

// database/migrations/xxxx_xx_xx_create_messages_table.php  
  
public function up()  
{  
    Schema::create('messages', function(Blueprint $table) {  
        $table->id();  
        $table->unsignedBigInteger('user_id');  
        $table->text('content');  
        $table->timestamps();  
  
        $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');  
    });  
}  

migration डेटाबेसमध्ये टेबल तयार करण्यासाठी कमांड चालवा:

php artisan migrate

पायरी 3: मेसेज पर्सिस्टन्स द्वारे हाताळणे WebSocket

जेव्हा वापरकर्ता संदेश पाठवतो, तेव्हा आम्हाला डेटाबेसमध्ये संदेश हाताळणे आणि टिकवून ठेवणे आवश्यक आहे. संदेश पाठवलेल्या इव्हेंटमध्ये, तुम्ही Laravel संदेश पाठवण्यासाठी ब्रॉडकास्टिंग वापरू शकता WebSocket आणि त्याच वेळी डेटाबेसमध्ये संदेश जतन करू शकता.

// app/Events/MessageSent.php  
  
public function broadcastOn()  
{  
    return new Channel('chat');  
}  
  
public function broadcastWith()  
{  
    return [  
        'message' => $this->message,  
        'user' => $this->user,  
    ];  
}  
// app/Listeners/SaveMessage.php  
  
public function handle(MessageSent $event)  
{  
    $message = new Message();  
    $message->user_id = $event->user->id;  
    $message->content = $event->message;  
    $message->save();  
}  

निष्कर्ष

Laravel WebSocket डेटाबेससह समाकलित केल्याने तुम्हाला रिअल-टाइम डेटा प्रभावीपणे संचयित आणि व्यवस्थापित करण्याची अनुमती मिळते. WebSocket डेटाबेससह एकत्रित करून, आपण लवचिक आणि शक्तिशाली पद्धतीने चॅट, झटपट सूचना आणि इव्हेंट ट्रॅकिंगसारखे जटिल रिअल-टाइम अनुप्रयोग तयार करू शकता.