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