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, మీరు చాట్, ఇన్స్టంట్ నోటిఫికేషన్లు మరియు ఈవెంట్ ట్రాకింగ్ వంటి సంక్లిష్టమైన నిజ-సమయ అప్లికేషన్లను సౌకర్యవంతమైన మరియు శక్తివంతమైన పద్ధతిలో రూపొందించవచ్చు.