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 डेटाबेस के साथ संयोजन करके, आप लचीले और शक्तिशाली तरीके से चैट, त्वरित सूचनाएं और ईवेंट ट्रैकिंग जैसे जटिल वास्तविक समय एप्लिकेशन बना सकते हैं।