Verwenden Many to Many relationship
Zum Beispiel sind viele Benutzer kann die Sprache „Englisch“ haben. Um diese Beziehung zu definieren, werden drei Datenbanktabellen benötigt: users
, languages
und language_user
. Die Tabelle language_user
ist von der alphabetischen Reihenfolge der Modellnamen abgeleitet und enthält die Spalten user_id
und language_id
.
Die Migration der language_user
Tabelle zu erstellen:
public function up()
{
Schema::table('language_user', function (Blueprint $table) {
$table->increments('id');
//Language foregn key
$table->integer('language_id')->unsigned();
$table->foreign('language_id')->references('id')->on('languages');
//User foregn key
$table->integer('user_id')->unsigned();
$table->foreign('user_id')->references('id')->on('users');
});
}
die Beziehung definieren:
Benutzermodell
class User extends Model
{
/**
* The languages that belong to the user.
*/
public function languages()
{
return $this->belongsToMany('App\Language');
}
}
Sprache Modell
class Language extends Model
{
/**
* The users that belong to the language.
*/
public function users()
{
return $this->belongsToMany('App\User');
}
}
Und jetzt haben Sie eine sauberere Benutzer-/Sprachtabelle und alle Sprachen werden im Language_user gespeichert.
Ps. Ich gehe davon aus, dass Sie eine Tabelle mit dem Namen languages
verwenden, um die Sprachen zu speichern. Wenn Sie das nicht tun, müssen Sie auch eine Tabelle und ein Modell erstellen.
Benutzer Tabelle und Sprachtabelle Fremdschlüssel in Sprachtabelle ist die Benutzer-ID Spalte – RiggsFolly
Vorschlag: https://www.lynda.com/Access-Tutorials/Relational-Database-Fundamentals/145932-2.html?utm_source=google&utm_medium = cpc & utm_campaign = l1-US-Suche-IT-Relational + Datenbank & cid = l1-us: de: ps: lp: proz: s2057: 140: alle: google: mbm-relational_database_tutorial & utm_content = 65092029426 & utm_term =% 2Brelational% 20% 2BDatenbank% 20% 2BTutorial & src = go-pa & veh = skwd-83214329586_pcrid_65092029426_pkw_% 2Brelational% 20% 2BDatenbank% 20% 2Btutorial_pmt_b_pdv_c_ext__plc__trg__agid_14657628426_cmid_235483506_adp_1t1_net_g & lpk35 = 9137 # tab – RiggsFolly
Benutzertabelle; Sprachtisch; und eine XRef-Tabelle für UserLanguage mit den Spalten user_id, language_id und proficiency –