2016-04-19 13 views
2

Ich habe laravel eloquent Beziehung & Datenbank Migration Dokumente gelesen, aber ich kann eine Sache nicht verstehen. Wir können eine Beziehung zwischen zwei Tabellen erstellen, durch wie Migrationsdatei erstellen:Laravel Migration Referenzen zwischen Tabellen

public function up() 
{ 
    Schema::create('keywords', function (Blueprint $table) { 
     $table->increments('id'); 
     $table->string('name'); 
     $table->integer('keyword_group_id')->unsigned(); 

     $table->foreign('keyword_group_id')->references('id')->on('keyword_groups')->onDelete('cascade'); 
    }); 
} 

Und dann, nach php Handwerker Befehl wandert wir zwei mit man viele Beziehung Tabellen verbunden hätten. Auf der anderen Seite beschreibt Docs Prozess Erstellen Beziehungen zwischen zwei Eloquents. In meinem Fall sieht es so aus:

class Keyword extends Model 
{ 
    public $timestamps = false; 
    protected $fillable = array('name'); 

    public function keywordGroup() 
    { 
     return $this->belongsTo('App\KeywordGroup'); 
    } 
} 

class KeywordGroup extends Model 
{ 
    public $timestamps = false; 
    protected $fillable = array('name'); 

    public function keywords() 
    { 
     return $this->hasMany('App\Keyword'); 
    } 
} 

Aber wenn ich Code-String kommentieren, die Beziehung zwischen den Tabellen in Migrationsdatei machen, diese zwei Verbindung Funktionen in Modellklassen Creat keine Beziehung. Kannst du mir bitte erklären, was wir brauchen, um diese Methoden in Modellklassen zu schreiben? keywordGroup & Schlüsselwörter

Antwort

0

Die Migrationen erstellen Sie Ihre Datenbank-Struktur, wenn Sie einen Fremdschlüssel hier eine Beziehung schaffen wird in der Datenbank selbst hinzugefügt werden.

Die Beziehungen, die Sie in Ihrem Modell erstellen, haben keine Auswirkungen auf die Datenbank selbst. Sie werden nur verwendet, um das Laden von Daten aus verschiedenen Tabellen im Code zu vereinfachen. Diese funktionieren, unabhängig davon, ob Sie Fremdschlüssel in Ihrer Datenbank erstellt haben oder nicht.

+0

Vielen Dank! –

Verwandte Themen