Wie kann man in Laravel mehrere boolesche Spalten zu einer Spalte zusammenfassen?MySql

MySQL DBMS-Forum
Anonymous
 Wie kann man in Laravel mehrere boolesche Spalten zu einer Spalte zusammenfassen?

Post by Anonymous »

Wie entwerfe ich ein skalierbares Benutzer-Badge-System, ohne viele boolesche Spalten zu erstellen?
Ich baue ein Badge-System auf, bei dem Benutzer bestimmte Badges verdienen, indem sie bestimmte Aufgaben erledigen.
Im Moment sieht meine Datenbanktabelle so aus:

Code: Select all

Schema::create('user_badges', function (Blueprint $table) {
$table->integer('user_id', true, true);
$table->boolean('Badge1');
$table->boolean('Badge2');
$table->boolean('Badge3');
$table->boolean('Badge4');
$table->boolean('Badge5');
$table->boolean('Badge6');
$table->boolean('Badge7');
$table->boolean('Badge8');
});
Das Problem besteht darin, dass sich dieser Ansatz nicht gut skalieren lässt – jedes neue Abzeichen erfordert das Hinzufügen einer neuen booleschen Spalte, was schnell unübersichtlich wird.
Bevor ich weitere Logik implementierte, möchte ich vermeiden, mich in eine Enge zu stürzen.
Gibt es eine bessere Datenbankstruktur zum Speichern von Benutzerausweisen?
Würde so etwas wie ein Array oder eine dynamischere Struktur besser passen?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post