Integrazzjoni Laravel WebSocket ma 'Database: Ġestjoni ta' Data Real-Time

L-integrazzjoni Laravel WebSocket ma 'database hija parti kruċjali tal-bini ta' applikazzjonijiet f'ħin reali bħal Chat, notifiki instantanji, u traċċar ta 'avvenimenti. Billi nikkombinaw WebSocket ma 'database, nistgħu naħżnu u namministraw b'mod effettiv id-dejta f'ħin reali. Ara kif tintegra Laravel WebSocket ma' database.

Pass 1: Installa Laravel WebSocket Pakkett

L-ewwelnett, installa u kkonfigura l- laravel-websockets pakkett. Uża Composer biex tinstalla l-pakkett:

composer require beyondcode/laravel-websockets

Ladarba tkun installata, trid tippubblika l-fajls tal-konfigurazzjoni u twettaq il-kompiti meħtieġa:

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

Pass 2: Oħloq Tabella tad-Database għall-Messaġġi

Aħna ser noħolqu tabella fid-database biex taħżen il-messaġġi. Uża l-kmand li ġej biex toħloq it- messages tabella:

php artisan make:model Message -m

Wara li tmexxi l-kmand, tara fajl migration maħluq fid- database/migrations direttorju. Iftaħ il- migration fajl u ddefinixxi l-istruttura tat- messages tabella:

// 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');  
    });  
}  

Mexxi l- migration kmand biex toħloq it-tabella fid-database:

php artisan migrate

Pass 3: Immaniġġjar tal-Persistenza tal-Messaġġ permezz WebSocket

Meta utent jibgħat messaġġ, irridu nittrattaw u jippersistu l-messaġġ fid-database. Fl-avveniment li jintbagħat il-messaġġ, tista 'tuża Laravel Xandir biex tibgħat il-messaġġ WebSocket u fl-istess ħin issalva l-messaġġ fid-database.

// 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();  
}  

Konklużjoni

L-integrazzjoni Laravel WebSocket ma 'database tippermettilek taħżen u timmaniġġja data f'ħin reali b'mod effettiv. Billi tikkombina WebSocket ma 'database, tista' tibni applikazzjonijiet kumplessi f'ħin reali bħal Chat, notifiki immedjati, u traċċar ta 'avvenimenti b'mod flessibbli u b'saħħtu.