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 ડેટાબેઝ સાથે સંયોજન કરીને, તમે લવચીક અને શક્તિશાળી રીતે ચેટ, ત્વરિત સૂચનાઓ અને ઇવેન્ટ ટ્રેકિંગ જેવી જટિલ રીઅલ-ટાઇમ એપ્લિકેશન્સ બનાવી શકો છો.